我有以下代码:
<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 }
});
}
问题是,如果我像value =“111”手动更改单词值,我可以看到该值正在发布到PHP。但是,当我希望它发布我写入textarea的任何内容时,它都没有发布任何内容,所以问题出在onSubmit区域。
有人可以帮我这个吗?
答案 0 :(得分: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;
});
});
答案 1 :(得分:1)
通过jQuery访问值的正确方法是val()
- 而不是通过设置属性。
$(...).val("set the value");
var get_the_value = $(...).val();
此外,您当前的选择器正在寻找您希望没有的<word>
元素。使用#word
作为选择器按ID搜索。