TypeError:'stepUp'调用未实现接口HTMLInputElement的对象

时间:2013-10-23 08:45:07

标签: jquery ajax

我在使用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 );*/
});

2 个答案:

答案 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文件。希望这可以帮到你。