2011-08-11 21 views
3

からjQueryのvalidationEngineを削除します。フォーム検証を行うのは1人だけです。他の2人は検証なしでフォームを送信する必要があります。私はコードを持っているが、それはとにかくすべての3つのボタンのために働くと私はフォームを検証するために1が必要です。私は3つの送信ボタンを持つフォームを持つフォーム

$(function() { 
     $('#formID').validationEngine(); 
    }); 
+0

はあなたにid = "フォームID" との3つの形態があります動作しますか? IDは、HTMLで一意であるあなたは – anderssonola

+0

はい、私は、各フォームのIDを持っているか検証するフォームにjqueryの彼らはユニークでバインドします。 – erik

答えて

8

それは私のために

 $("#buttonId1").click(function(){ 
      $('#formId').validationEngine('hideAll'); 
      $('#formId').validationEngine('detach'); 
      $('#formId').validationEngine('attach'); 
      if($("#formId").validationEngine('validate')) 
       return true; 
      else 
       return false;     
     }); 

     $("#buttonId2").click(function(){ 
      $('#formId').validationEngine('hideAll'); 
      $('#formId').validationEngine('detach'); 
      return true;     
     }); 

     $("#buttonId3").click(function(){ 
      $('#formId').validationEngine('hideAll'); 
      $('#formId').validationEngine('detach'); 
      return true;     
     }); 
2

私は、これはあなたが必要な正確に何であるかどうかを知りません:

$("#buttonId").click(function(){ 
     $('#formId').validationEngine(); 
    }); 

    $('#otherButtonId').click(function(){ 
     $('#formId').submit(); 
    }); 

最初はフォームを検証し、第二には、単にそれを提出します。

2

は、ユーザーが他の提出のいずれかのボタンをクリックしたときに検証を行うにはしたくないだろうにもかかわらず、あなたのタブ場合は、インライン検証はまだフォームフィールドを介して行われることを忘れないでください。

ホルヘの提案に代わるものとして、あなたは、通常のように準備ができて、文書にvalidationengineをインスタンス化して、他のいずれかのボタンがクリックされたときにvalidationengineを切り離すことができます。また、Ajaxを介して送信して画面を離れることがない場合に表示されるプロンプトを非表示にする必要があります。

$("#otherButtonId1").click(function(){ 
    // $('#formId').validationEngine('hideAll'); 
    $('#formId').validationEngine('detach'); 
}); 

$('#otherButtonId2').click(function(){ 
    $('#formId').validationEngine('detach'); 
}); 

〜Cyrix社

+0

実際に、必要に応じてインラインチェックをオフにすることができます。デフォルトでは、フィールドのボケに検証しますが、あなたはそれがvalidationEventTrigger使用して、フォームの提出に検証するために取得することができます。 $(「#フォームIDを」)validationEngine。({validationEventTrigger「提出します」}); –

関連する問題