2012-02-13 3 views
1

У меня есть следующий код:Jquery: Получение входного значение формы

<form action="" method="get" onsubmit="doRequest($('word').value); $('word').value=''; return false;"> 
    <input type="text" name="word" id="word" value="" /> 
    <input type="submit" name="submit" value="Send" /> 
    </form> 

doRequest функция():

function doRequest(request) 
{ 
$.ajax(url, { 
type: 'get', 
data: { 'msg' : request } 
}); 
} 

Проблема заключается в том, если изменить значение слова вручную, как значение = «111», я вижу, что значение отправляется на PHP. Однако, когда я хочу, чтобы он писал все, что я пишу в textarea, он ничего не публикует, поэтому проблема заключается в области onSubmit.

Может ли кто-нибудь помочь мне в этом?

ответ

1

Вам не хватает # в ваших селекторах jQuery.

onsubmit="doRequest($('#word').value); $('#word').value=''; return false;" 

Я хотел бы также удалить встроенный JavaScript и заменить его функции в submit handler вместо этого. Также используют jQuery .val() вместо .value.

$(document).ready(function() { 
    $('form').submit(function() { 
     doRequest($('#word').val()); 
     $('#word').val(''); 
     return false; 
    }); 
}); 
+0

Не работает. Он по-прежнему не публикует значение слова. – Aristona

+0

@ AnılÜnal, см. Мои правки. – Sparky

+0

Я не могу ввести ссылку на обработчик отправки, угадайте, что сервер не работает. Я могу переместить это в функцию, но как я могу выполнить функцию? Под готовностью документа? – Aristona

1

Правильный способ доступа к значению с помощью JQuery является val() - не установив свойство.

$(...).val("set the value"); 
var get_the_value = $(...).val(); 

Кроме того, текущие селекторы ищут <word> элементы, которые вы, надеемся, не имеют. Используйте #word в качестве селекторов для поиска по ID.

Смежные вопросы