2016-06-20 3 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> 

then on Form Отправить, этот код работает .. - нет проблем.

Однако, хотел бы обновить (используя jquery still) - предупреждение появляется при записи и не нужно ждать до отправки?

+0

Пожалуйста, обратите внимание на тег описания. Тег [tag: jquery-validate] предназначен только для вопросов о плагине jQuery Validate. Ред. Благодарю. – Sparky

ответ

0

Что вы используете - это простой javascript.

Вы можете использовать событие keyup jquery, чтобы выполнить то, что вам нужно.

<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» всегда будет правдой. Это должно быть 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 - закрыть, но как только я введу какое-либо число (например, даже один раз сам по себе), он сразу же выдает предупреждение. – Gazza

+0

Да, извините, вам необходимо обновить условие if. Я обновлю код –

+0

Извините, что я использую Bootstrap и Validator v0.10.2 для Bootstrap 3, by @ 1000hz – Gazza

Смежные вопросы