Jquery valid()方法使窗体在加载时显示突出显示的字段

Jquery valid()方法使窗体在加载时显示突出显示的字段,jquery,forms,jquery-validate,Jquery,Forms,Jquery Validate,我写了一个脚本,只有在表单有效的情况下才能在提交时运行。基本上,用户从选项卡填写表单,然后如果表单有效,脚本将运行并取消隐藏下一个选项卡,并自动将用户导航到该选项卡。以下是脚本: var $tabs = $('#tabs').tabs(); if ($('#quoteform').valid() == true) { $('#submitbutton').click(function () {

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

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

脚本可以根据需要运行,但存在一个问题。在页面加载时,它会自动突出显示无效字段。有没有一种方法可以编写它,这样它仍然可以正常工作,但不会在页面加载时自动突出显示无效的必填字段?谢谢。

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

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

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

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

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

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

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

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

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


我认为应该将脚本绑定到submit按钮,否则它将在启动时执行(我想是在document.ready()上)

  • 从jQuery onLoad事件中删除函数:$(document).ready(function(){…
  • 将其移动到新的函数validateMyForm(){…
  • 当用户更改表单字段时激活该功能:
  • 
    
  • 从jQuery onLoad事件中删除函数:$(document).ready(function(){…
  • 将其移动到新的函数validateMyForm(){…
  • 当用户更改表单字段时激活该功能:
  • 
    

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

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

    此脚本位于何处?其上下文是什么?它位于MVC3应用程序中。不幸的是,我不得不删除jquery-validate.min和jquery-unobtrusive-validate.min,因为出于某种原因,它们无法运行在程序中使用错误,我不知道为什么。我想我现在必须使用完全不同的方法。我知道了。问题是我们引用的jquery脚本。发布您自己对问题的答复,然后接受它;)这个脚本位于何处?它的上下文是什么?它位于MVC3应用程序中。不幸的是,我不得不删除jquery-validate.min和jquery-unobtrusive-validate.min,因为出于某种原因,它们会在程序中导致错误,我不知道为什么。我想我现在必须使用一种完全不同的方法。我已经解决了这个问题是我们引用的jquery脚本。发布您自己对问题的答复,然后接受;)嘿,Patrick,我以前确实尝试过在click函数中移动if语句,但假设它不起作用。我想我的程序中可能有其他东西把它搞乱了,因为你也说要移动它。让我去检查一些事情。谢谢你的回复。嘿,Patrick,我确实尝试过在click函数中移动if语句之前单击函数,但假设它不工作。我想我的程序中可能有其他东西把它搞乱了,因为你也说要移动它。让我检查一些东西。谢谢你的回答。你能指定它在哪里声明吗?如果它不包括在命名函数中,它将在页面加载期间运行。你能指定e如果指定的函数中没有包含它,那么它将在页面加载期间运行
    <input type="text" onkeyup="validateMyForm()" onblur"validateMyForm()">