我正在使用jQuery编写一个网站,我试图在不离开页面的情况下将表单发布到另一个PHP文件。所以我找到了一种使用jQuery发布表单的方法。但是,当我将数据发布到PHP页面时,我收到此错误:
只能在nodelist
的实例上调用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>
`
答案 0 :(得分:2)
问题是因为你正在为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>