Jquery ELSE语句每运行一次;。每一个;要素
我有一张表格,通过Ajax发送。首先,它检查所有输入是否已填充(如果未填充,则应用样式,Jquery ELSE语句每运行一次;。每一个;要素,jquery,Jquery,我有一张表格,通过Ajax发送。首先,它检查所有输入是否已填充(如果未填充,则应用样式,msg()函数使错误出现),如果已填充,则存储数据并通过Ajax发送: $(document).on('click','.accepEditedData',function(){ obj=$(this); sectionEdit=obj.attr('data-section'); newInputs=$('input[data-sectionC='+sectionEdit+']');
msg()
函数使错误出现),如果已填充,则存储数据并通过Ajax发送:
$(document).on('click','.accepEditedData',function(){
obj=$(this);
sectionEdit=obj.attr('data-section');
newInputs=$('input[data-sectionC='+sectionEdit+']');
newInputs.each(function(){
if ($(this).val() === ""){
msg('error','Por favor, rellena todos los campos, o cancela la edición de tu información.');
$(this).css('border-bottom','2px solid red').css('color','red');
return false;
}
else{
if(obj.hasClass('updateInfoBasic')){
name=$("input[name='us_name']").val();
tlf=$("input[name='us_tlf']").val();
mail=$("input[name='us_mail']").val();
$.post('../actions/updateInfoBasic.php',{us_name:name, us_mail:mail,us_tlf:tlf}).success(
function(){
msg("success","Tu información básica ha sido actualizada");
});
}
}
});
});
我有下一个问题:ELSE语句对newInputs
变量中存储的每个元素运行一次
当第一个IF语句检查3个输入时,ELSE语句运行3次(包括它的ajax调用和它的msg('success','…');
函数。同样的情况也发生在4、6等中。通过检查总输入。每个,执行ELSE的总次数
理论上,如果所有输入都已填充,则ELSE语句只应运行一次。尝试使用
你有没有检查过$(this).val()
在每次迭代中的值是多少?也许它不是”
?哦…我以前检查过它,它成功了。现在我一定已经更改了s。即使有没有值的东西,也转到ELSE语句。是否在newInputs=$('input)中选择了所有input
元素[data sectionC='+sectionEdit+']);
在点击?,不仅是'。ACCEPEDITEDATA'
输入可以包括html
问题?@Biomehanika如果(obj.hasClass('updateInfo'),则的预期结果是什么
?仅当所有输入
元素值都不是“
”时,中的语句要求最多调用一次吗?
$(document).on('click','.accepEditedData',function() {
var obj = $(this);
var sectionEdit = obj.attr('data-section');
var newInputs = $('input[data-sectionC='+sectionEdit+']');
var check = newInputs.get().some(function(el, i) {
return el.value === ""
});
if (check) {
msg('error','Por favor, rellena todos los campos, o cancela la edición de tu información.');
newInputs.filter(function() {
return this.value === ""
}).css('border-bottom','2px solid red').css('color','red');
} else {
if (obj.hasClass('updateInfoBasic')) {
var name = $("input[name='us_name']").val();
var tlf = $("input[name='us_tlf']").val();
var mail = $("input[name='us_mail']").val();
$.post('../actions/updateInfoBasic.php',{us_name:name, us_mail:mail,us_tlf:tlf})
.then(function success() {
msg("success","Tu información básica ha sido actualizada");
}, function error(jqxhr, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
});
}
}
});