我正在尝试将表单放入
serializedArray
中以引入 API,但我需要检测所有具有“image”类的元素,而不是像其他元素那样以相同的方式进行操作,而是将它们放入到单个数组中。问题是我不知道如何构建那个 if
条件。
我目前拥有的是:
add.serializeArray().forEach(function(input) {
if(input.class === "images"){
data[images].push(input.value);
}
else{
data[input.name] = input.value;
}
});
因此,我会检查所有输入元素,如果它们不属于此类,我会照常添加它们。
$( this )
正在获取类的未定义值,input.class
也正在获取未定义的值。通过这种方法,我能达到的唯一属性是 name
和 value
(如上所示)
我也尝试用我在 w3schools 上找到的示例来解决这个问题,但似乎也不起作用:
serializeArray
您可以在这里看到信息
$(document).ready(function(){
$("button").click(function(){
var x = $("form").serializeArray();
$.each(x, function(i, field){
if($(this).hasClass("images")){
$("#results").append("if is sentence is true "+field.name + ":" + field.value + " </br>");
}
else{
$("#results").append("if sentence is false "+field.name + ":" + field.value + " </br>");
}
});
});
add.serializeArray().forEach(function(input) {
if($( this ).hasClass( "image" )){
data[images].push(input.value);
}
else{
data[input.name] = input.value;
}
});
所以,这就是我修复它的方法,因为问题在于元素输入没有任何类属性。我把它留在这里以防有人需要!