2013-07-12 2 views
-2
<form action="javascript:message();"> 
<input type="text" id="#msg" value='test'> 
</form> 

Это простая форма, которую я сделал. Теперь, когда я называю функцию JS с помощью этого кода он работает (только один вход может быть доступен, хотя):jQuery .val using ID selector undefined

function message() { 
    alert($('input').val()); 
} 

Но используя этот код не работает (оповещает Undefined):

function message() { 
    alert($('#msg').val()); 
} 

I не действительно нет понятия, что делать, и я искал в течение нескольких часов ...

+5

Удалите символ # из атрибута id в вашем HTML. Вы вводите значение ID в синтаксис селектора. –

ответ

3

значение атрибута id не должно начинаться с #:

<form action="javascript:message();"> 
    <input type="text" id="msg" value='test'> 
</form> 

Вот скрипка: http://jsfiddle.net/XrJjU/


Если по какой-либо причине, является# в ИО, вы будете иметь, чтобы избежать его в селекторе:

$('#\\#msg').val(); 

Вот скрипка: http://jsfiddle.net/7P5ER/

+0

* facepalm * было поздно ... извините: S – TheUninvited