TypeError: 'stepUp' вызывает объект, который не реализует интерфейс HTMLInputElement
У меня ошибка в использовании AJAX:
TypeError: 'stepUp' вызывает объект, который не реализует интерфейс HTMLInputElement.... plete ", [C, p]), - x.active || x.event.trigger(" ajaxStop ")) )} return 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 );*/
});
Ответы
Ответ 1
$.ajax
не ожидает DOMElement типа HTMLInputElement
в объекте, который вы переходите на data
. Попытайтесь просто указать ему значение поля:
var wordid = $('.wordId').val();
$.ajax({
url: "assigner.php",
type: "POST",
data: { wordid: wordid, assign: assign}
}).done(function( e ) {
/*alert( "word was saved" + e );*/
});
Ответ 2
Вы получите все значения флажка, как показано ниже.
var newvalue='';
$('input[name=wordid\\[\\]]').each(function(index, element) {
newvalue=newvalue+this.value+',';
});
Затем передайте значение переменной newvalue в файл assign.php. Надеюсь, это поможет вам.