我正在使用jQuery编写一个网站,我正在尝试在不离开页面的情况下将表单发布到另一个PHP文件。因此,我找到了一种使用jQuery发布表单的方法。但是,当我将数据发布到PHPpage时,我收到此错误:
只能在节点列表的实例上调用 NodeList.item
我不知道该怎么办。我使用的代码是这样的:
function upload(text){
$.post("update.php",{
text:text,
comment: null,
parent: null,
like: null
}, function(){alert('Thanks');});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea rows="10" cols="50" id="post_text"></textarea>
<button onclick="upload(document.getElementById('post_text'))">Upload</button>
'
问题是因为你向text
属性提供了一个 DOM 元素,然后 jQuery 尝试编码该元素,从而导致你看到的错误。若要解决此问题,请改为提供元素的value
。
另请注意,应尽可能避免使用 on*
事件属性,而使用不显眼的事件处理程序。由于您已经在页面中包含jQuery,因此您可以使用它。试试这个:
$(function() {
$('#upload').click(function() {
$.post("update.php", {
text: $('#post_text').val(),
comment: null,
parent: null,
like: null
}, function() {
alert('Thanks');
});
});
});
<textarea rows="10" cols="50" id="post_text"></textarea>
<button id="upload">Upload</button>