Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何在一个警报中显示所有验证消息_Jquery - Fatal编程技术网

Jquery 如何在一个警报中显示所有验证消息

Jquery 如何在一个警报中显示所有验证消息,jquery,Jquery,在下面的jquery验证中,如果出现多个验证错误,我希望所有验证都立即显示在警报中,而不是一次显示一个验证的多个验证。如何在一个警报中显示所有消息 function validation() { var alertValidation = ""; var _qid = ""; var _msg = ""; $("input[data-type='qmark']").each(function(i) { var questions = $

在下面的jquery验证中,如果出现多个验证错误,我希望所有验证都立即显示在警报中,而不是一次显示一个验证的多个验证。如何在一个警报中显示所有消息

    function validation() {

    var alertValidation = "";
    var _qid = "";
    var _msg = "";

    $("input[data-type='qmark']").each(function(i) {
        var questions = $(this).attr("data-qnum");
        var marks = parseInt($("[class*=q" + i + "_ans_text]").text());
        var txtinput = $(this).val();
        _qid = questions;
        _msg = "You have errors on Question Number: " + _qid + "\n";


        if (txtinput == '') {
            alertValidation += "\n\u2022 You have not entered in a value in all the Indivdiaul Marks textbox\n";
        }


        if (marks < '0') {

            alertValidation += "Your Total Marks Remaining does not equal 0 \n\n\u2022 You Need To Remove " + Math.abs(marks) + " Marks";
        }

        if (marks > '0') {

            alertValidation += "Your Total Marks Remaining does not equal 0 \n\n\u2022 You Have " + marks + " Marks Remaining";
        }

        if (alertValidation != "") {
            return false; //Stop the each loop 
        }

    });


    if (alertValidation != "") {
        alert(_msg + alertValidation);
        return false;
    }

    return true;
}​
函数验证(){
var alertValidation=“”;
var_qid=“”;
var_msg=“”;
$(“输入[data type='qmark']”)。每个(函数(i){
var questions=$(this.attr(“数据qnum”);
var marks=parseInt($(“[class*=q”+i+“\u ans\u text]”)。text();
var txtinput=$(this.val();
_qid=问题;
_msg=“您在问题编号上有错误:”+\u qid+“\n”;
如果(txtinput==''){
alertValidation+=“\n\u2022您尚未在所有Indivdiaul标记文本框中输入值\n”;
}
如果(标记<'0'){
alertValidation+=“您剩余的总分不等于0\n\n\u2022您需要删除“+Math.abs(分数)+”分数”;
}
如果(标记>'0'){
alertValidation+=“您的总剩余分数不等于0\n\n\u2022您有”+分数+“剩余分数”;
}
如果(alertValidation!=“”){
返回false;//停止每个循环
}
});
如果(alertValidation!=“”){
警报(_msg+alertValidation);
返回false;
}
返回true;
}​

对于每个警报验证,给它一个不同的名称:

if (txtinput == '') {
     alertValidation1 += 'blah blah'
}
if (marks > '0') {
     alertValidation2 += 'other stuff'
}
然后在警报结束时,执行以下操作:

alert(alertValidation1 + '\n' + alertValidation2 + '\n' ...etc)

删除此代码块

if (alertValidation != "") {
    return false; //Stop the each loop 
}

您已经在连接错误消息,上面的代码行在遇到错误时会中断循环。因此,删除此项可以解决您的问题。

将所有alertValidation合并为一个,然后发出警报message@EricFrick是的,这就是我遇到的问题,我如何处理这些消息?嗨,我想做的是一次显示一个问题编号的警报,所以如果问题1和3中有错误,然后,我希望它首先只显示问题1的错误,然后在排序后,如果用户再次验证,则显示警报,显示问题3的错误。如果我删除这段代码,它会一次显示所有问题中的错误,我只想一次显示一个问题中的所有错误。这有意义吗>