我在使用AJAX时遇到错误:
TypeError:'stepUp'调用一个没有实现接口HTMLInputElement的对象.... plete“,[C,p]), - x.active || x.event.trigger(”ajaxStop“)) )}返回C},getJSON:functi ...
以下是我使用它的代码部分:
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
这是我的javascript代码,适用于我之前定义它们的复选框:
function feedback() {
var boxes = document.getElementsByClassName('box');
for (var j = 0; j < boxes.length; j++) {
if (boxes[j].checked) {
//assign(1);
assign = 1;
} else {
assign = 0;
//assign(0);
}
var wordid = document.getElementsByClassName('wordId')[j];
$.ajax({
url: "assigner.php",
type: "POST",
data: {
wordid: wordid,
assign: assign
}
}).done(function(e) {
/*alert( "word was saved" + e );*/
});
}
}
我尝试了这个,但它不起作用,并没有给我任何错误。
var newvalue = '';
$('input[name=wordid\\[\\]]').each(function(index, element) {
newvalue = newvalue + this.value + ',';
});
$.ajax({
url: "assigner.php",
type: "POST",
data: {
wordid: newvalue,
assign: assign
}
}).done(function(e) {
/*alert( "word was saved" + e );*/
});
答案 0 :(得分:70)
$.ajax
并不期望您传递给HTMLInputElement
的对象中的data
类型的DOMElement。尝试只给它字段的值:
var wordid = $('.wordId').val();
$.ajax({
url: "assigner.php",
type: "POST",
data: { wordid: wordid, assign: assign}
}).done(function( e ) {
/*alert( "word was saved" + e );*/
});
答案 1 :(得分:0)
您将获得所有复选框值,如下所示。
var newvalue='';
$('input[name=wordid\\[\\]]').each(function(index, element) {
newvalue=newvalue+this.value+',';
});
然后将变量'newvalue'的值传递给assign.php文件。希望这可以帮到你。