Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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还比较陌生,如果记录列表中的任何值的数量为零,并且显示一条消息来标识哪些记录的数量为零,我会尝试阻止表单提交 以下是我到目前为止的情况: <script type="text/javascript"> var j$ = jQuery.noConflict(); j$(document).ready(function() { j$('[id$=btnSubmit]').click(function(e){ j

我对使用jquery还比较陌生,如果记录列表中的任何值的数量为零,并且显示一条消息来标识哪些记录的数量为零,我会尝试阻止表单提交

以下是我到目前为止的情况:

<script type="text/javascript">
    var j$ = jQuery.noConflict();

    j$(document).ready(function() {
        j$('[id$=btnSubmit]').click(function(e){
            j$('[id$=documentQuantity]').each(function(index){
                if(j$(this).text() == '0') {
                    j$("#contentQtyError").css({"display":"inline"});
                    j$(this).parent().parent().css({"background-color":"#FFFFCC"});
                    e.preventDefault();
                }
            });
        });
    });  

</script>

var j$=jQuery.noConflict();
j$(文档).ready(函数(){
j$('[id$=btnSubmit]')。单击(函数(e){
j$('[id$=documentQuantity]')。每个(函数(索引){
如果(j$(this).text()='0'){
j$(“#contentQtyError”).css({“display”:“inline”});
j$(this.parent().parent().css({“背景色”:“#FFFFCC”});
e、 预防默认值();
}
});
});
});  
我已经捕捉到了按钮的点击,并且如果列表中的一个值为零,我也成功捕捉到了。如果其中一个值为零,如何阻止表单提交?我是否使用preventDefault()方法?另外,如何在页面上显示一条消息,指示哪一行(记录)是数量为零的行?最好突出显示数量为零的行


谢谢你的帮助

您应该使用表单提交事件执行验证。使用
e.preventDefault()
返回false以防止默认操作

j$(document).on('submit', 'form#YourFormID', function (e) {
    console.log('************** we clicked the submit button');
    j$('[id$=documentQuantity]').each(function (index) {
        if (j$(this).val() == 0) {
            console.log('************* value is zero');

            //To prevent form submission
            return false;
        }
    });
});
注意:提供正确的选择器以代替
表单#YourFormID'
。如果您只有一张表格
表格
就足够了

试试看

var j$=jQuery.noConflict()

j$(文档).ready(函数(){
j$('[id$=btnSubmit]')。提交(函数(e){
log(“**********我们单击了提交按钮”);
j$('[id$=documentQuantity]')。每个(函数(索引){
如果(j$(this).val()==0){
log(“*************值为零”);
e、 preventDefault();//它将阻止表单提交
//下面将显示警告消息
j$(this).append(“此值不能留空”);
}
});
});
}); 

您应该将事件与表单Submit绑定。我感谢所有的评论和帮助!它引导我找到了一个很好的解决方案!
var j$ = jQuery.noConflict();

j$(document).ready(function() {
   //Assuming you have only one form in the document, if not change the selector to be specific to the form you want to target.
    j$('form').on('submit', function(e){
        console.log('************** the form is being submitted');
        j$('[id$=documentQuantity]').each(function(index){
            if(j$(this).val() == 0) {
                console.log('************* value is zero');
                e.preventDefault();  
            }
        });
    });
}); 
j$(document).ready(function() {
    j$('[id$=btnSubmit]').submit(function(e){
        console.log('************** we clicked the submit button');
        j$('[id$=documentQuantity]').each(function(index){
            if(j$(this).val() == 0) {
                console.log('************* value is zero');
                 e.preventDefault(); //it will prevent the form submission
                //below will display the warning message
                j$(this).append("<span class='message'>this value can not be left blank</span>");
            }
        });
    });
});