2016-06-20 20 views
1

現時点ではスクリプトを使用して、特定のポストコードが関連する入力フィールドに入力されないようにします。特定のポストコードがフォーム入力に入力されないように制限

<script> 
function checkForm() 
{ 
    var a=document.forms["InsertFrm"]["Postcode"].value; 

if(a == "4001" || "4002") { 
    alert("Sorry. This Membership is only available to visitors to the Area!"); 
    return false; 
    } 

    } 
    </script> 

フォーム提出時に、このコードは実行されます。 - probsはありません。

しかし、(jqueryを使用して)更新したいと思います - 警告が表示され、送信するまで待つ必要はありませんか?

+0

記述をタグ付けするために注意を払ってください。 [tag:jquery-validate]タグは、jQuery Validateプラグインに関する質問のみに使用されます。編集されました。ありがとう。 – Sparky

答えて

0

あなたが使用しているのはプレーンなjavascriptです。

jqueryのkeyupイベントを使用して、必要な処理を行うことができます。あなたの入力フィールドと

<script> 
    function checkForm() { 
    var a=document.forms["InsertFrm"]["Postcode"].value; 
    // change your condition to this as "4002" is always true 
    if(a == "4001" || a == "4002") { 
     alert("Sorry. This Membership is only available to visitors to the Area!"); 
     return false; 
    } 
    } 
    $(document).ready(function() { 
    $('input').on('keyup', function(evt) { 
     checkForm(); 
    }); 
    $('form').on('submit', function(evt) { 
     checkForm(); 
    }); 
    }); 
</script> 

置き換える$('input')、すなわち$('input#postcode')とご入力フィールドを持つ
$('form')、すなわち$('form#addressform')ます。またif(a == "4001" || "4002")「4002」のように自分の状態を変更する必要が

常にtrueになります。 if(a == "4001" || a == "4002")

また、送信ボタンを無効にすることもできますが、クライアント側では簡単に克服できるため、サブミットリスナーを使用する方が安全です。

楽しみのためだけに、あなたもこれを試みることができる:

function checkForm() { 
    var a=document.forms["InsertFrm"]["Postcode"].value; 
    // change your condition to this as "4002" is always true 
    if(a == "4001" || a == "4002") { 
     alert("Sorry. This Membership is only available to visitors to the Area!"); 
     $('input[type=submit]').prop('disabled', true); 
     return false; 
    } else { 
     $('input[type=submit]').prop('disabled', false); 
    } 
} 
+0

ありがとうございましたF - 閉めますが、数字を入力するとすぐに(たとえば1つだけでも)、すぐに警告が表示されます。 – Gazza

+0

はい、申し訳ありませんが、if条件を更新する必要があります。私はコードブロックを更新します –

+0

申し訳ありませんが、追加するには、BootstrapとValidator v0.10.2をブートストラップ3に@ 1000hzで使用しています – Gazza