2010-12-01 10 views
0

基本的に、私がサブミットをクリックすると、投稿を防止する代わりに私を次のページに送ります。それはもはや有効性を確認していないので、それもまた起こる必要があります。これを修正するにはどうすればいいですか?jQueryバリデータプラグインがサブミットアクションをキャッチしません

Javascriptを:

HTML
<script language="javascript" type="text/css"> 
jQuery.validator.addMethod(
    "noStateSelected", 
    function(value, element) { 
    if (element.value == "") 
    { 
     return false; 
    } 
    else return true; 
    }, 
    "" 
); 

    jQuery.validator.messages.required = ""; 


    $(document).ready(function(){ 
     $("#newMemberForm").validate({ 
     invalidHandler: function(e, validator) { 
      var errors = validator.numberOfInvalids(); 
      if (errors) { 
       var message = errors == 1 
        ? 'You missed 1 field. It has been highlighted below.' 
        : 'You missed ' + errors + ' fields. They have been highlighted below.'; 
       $("div.error span").html(message); 
       $("div.error").show(); 
      } else { 
       $("div.error").hide(); 
      } 
     }, 
     submitHandler: function() { 
      $(#newMemberForm).submit(); 
     }, 
     errorLabelContainer: "#messageBox", 
     wrapper: "li", 
     onkeyup: false, 
     submitHandler: function() { 
      $("div.error").hide(); 
      $("label.error").remove(); 
     }, 
     rules: { 
      sponsor: "required", 
      username: "required", 
      password: "required", 
      first_name: "required", 
      last_name: "required", 
      phone_number: "required", 
      tax_id: "required", 
      address_1: "required", 
      city: "required", 
      postal_code: "required", 
      profile_stateList: { 
       noStateSelected: true 
      }, 
      email: { 
       required: true, 
       email: true 
      }, 
      terms_conditions: "required" 
     }, 
     messages: { 
       email: { 
        email: "Your email address must be in the format of [email protected] ." 
      }, 
      terms_conditions: "You must agree with the conditions." 
     } 

    }); 
    }); 
    </script> 

:あなたはあなたのsumbitのアクションに悪いセレクタを持って

<form name="newMember" id="newMemberForm" action="~secure_url~/cgi-bin/xflow/newuser.cgi" method="POST"> 
.... 
[Conditional input text box required if it exists] 
... 
</form> 
+0

どのようなエラーが表示されますか? –

+0

JavaScriptのエラーはありません。 –

+0

type = "text/css">がtext/javascript –

答えて

1

私の愚かな問題は、私はテキスト/ cssのタイプを作った。これは修正されました。

1

(あなたが不足している引用符):

submitHandler: function() { 
     $(#newMemberForm).submit(); 
    }, 

は次のようになります。

submitHandler: function() { 
     $("#newMemberForm").submit(); // Quotes here 
    }, 
+0

に修正されました。この問題は修正されませんでしたが、依然として投稿をキャッチするのではなく投稿しています。 –

+0

とにかく 'submit()'を呼び出すのはなぜですか?これはデフォルトのsubmitHandlerですか? –

+0

ああ、ちょうど 'text/css'のあなたのバグを読みました。面白い、私はそれを見て、私のテストコードでそれを変更しましたが、私はそれを言及するとは思わなかった...まあまあ。 –

関連する問題