Jquery .valid()方法使表单在加载时显示突出显示的字段

时间:2011-06-16 15:06:22

标签: jquery forms jquery-validate

我编写了一个脚本,只有在表单有效时才能在提交时运行。基本上,用户从选项卡填写表单,然后如果表单有效,脚本将运行并取消隐藏下一个选项卡并自动将用户导航到该选项卡。这是脚本:

var $tabs = $('#tabs').tabs();
    if ($('#quoteform').valid() == true) {
                    $('#submitbutton').click(function () {                
                        unhidetab();
                        $tabs.tabs('select', 2);
                        return false;               
                    });
                }

脚本根据需要运行,但是有问题。在页面加载时,它会自动将字段突出显示为无效。有没有办法写这个,以便它仍然可以运行,但不会自动突出显示页面加载时无效的必填字段?感谢。

4 个答案:

答案 0 :(得分:1)

我认为你应该将脚本绑定到提交按钮,否则它会在启动时执行(在我认为的document.ready()上)

$('#submitbutton').click(function (event) {                
   if ($('#quoteform').valid() === true) {
      //submit the form or do what you want
   }else{
      event.preventDefault();//avoid submitting the form 
   }
});

答案 1 :(得分:0)

您想要验证字段仅提交页面吗? 如果是,我认为您需要更改脚本:

var $tabs = $('#tabs').tabs();

$('#submitbutton').click(function () {                
    if ($('#quoteform').valid() == true) {
        unhidetab();
        $tabs.tabs('select', 2);
        return false;               
    } 
});

//对不起我的英语,我是巴西人。

答案 2 :(得分:0)

  1. 从jQuery onLoad事件中删除你的函数: $(document).ready(function(){...
  2. 将其移至新的函数validateMyForm(){...
  3. 在用户更改表单字段时激活该功能:
  4. <input type="text" onkeyup="validateMyForm()" onblur"validateMyForm()">
    

答案 3 :(得分:0)

更新:我们引用的jquery脚本存在问题。