2016-06-20 8 views
1

Verwenden Sie derzeit ein Skript, um zu verhindern, dass bestimmte Postleitzahlen in das entsprechende Eingabefeld eingegeben werden.Beschränken Sie die Eingabe bestimmter Postleitzahlen in die Formulareingabe

<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> 

dann auf Form Submit, dieser Code läuft .. - keine Probs.

Möchten Sie jedoch aktualisieren (mit jquery immer noch) - eine Warnung erscheint bei der Eingabe und muss nicht bis zum Senden warten?

+0

Beachten Beschreibungen zu markieren. Das Tag [tag: jquery-validate] ist nur für Fragen zum jQuery Validate-Plugin gedacht. Bearbeitet. Vielen Dank. – Sparky

Antwort

0

Was Sie verwenden, ist einfaches Javascript.

Sie können das keyup-Ereignis von jquery verwenden, um das zu tun, was Sie brauchen.

<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> 

ersetzen $('input') mit dem Eingabefeld, das heißt $('input#postcode') und
$('form') mit Ihrem Eingabefeld, das heißt $('form#addressform')

Sie müssen auch wie in if(a == "4001" || "4002") „4002“ Ihren Zustand ändern wird immer wahr sein. Es muss if(a == "4001" || a == "4002")

sein.

Sie können auch die Senden-Schaltfläche deaktivieren, aber das ist auf der Client-Seite leicht zu überwinden, so dass die Verwendung des Übermittlungs-Listeners an dieser Stelle sicherer ist.

Just for fun, können Sie auch versuchen, diese:

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

Danke F - schließen, aber sobald ich irgendeine Nummer (zB auch nur 1 von selbst) eingeben, kommt es sofort mit der Warnung. – Gazza

+0

Ja Entschuldigung, Sie müssen Ihre if-Bedingung aktualisieren. Ich werde den Code-Block aktualisieren –

+0

Tut mir leid, hinzuzufügen, verwende Bootstrap und Validator v0.10.2 für Bootstrap 3, von @ 1000hz – Gazza

Verwandte Themen