限制某些邮政编码进入表单输入

时间:2016-06-20 08:14:00

标签: jquery validation

目前使用脚本阻止某些邮政编码进入相关的输入字段。

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

然后在Form Submit上,此代码运行.. - 没有probs。

但是,想要更新(仍然使用jquery) - 在输入时出现警告而不必等到提交?

1 个答案:

答案 0 :(得分: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")&#34; 4002&#34;永远都是真的。它必须是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);
    }
}