我正在尝试设置表单验证 - 这有效 - 但仅适用于奇数,如果您输入偶数,例如零件号 TEST 和数量 2 然后将出现警报,如果您输入数量 3,则将提交表格。有任何想法吗 ?

Javascript

<script type="text/javascript">
function allnumeric(inputtxt)
   {
      var numbers = /^[0-9]+$/;
      if(form2.qty.value.match(numbers) & (form2.product.value != ""))
      {
      return true;
      }
      else
      {
      alert('Please input numeric characters only or fill in the product field')
      {
      return false;
      }
   }
   }
</script>

形式
<form id="form2" name="form2" method="post" action="booking-printlabel2.asp?insert=yes" onsubmit="return allnumeric()">


                <input name="product" type="text" id="product" style="height:55px;font-size:30pt;" size="10"/>


                <input name="qty" type="text" id="qty" style="height:55px;font-size:30pt;" size="3"/>


          <input type="submit" name="Print Labels2" id="Print Labels2" value="Print Labels" style="height:55px;font-size:30pt;"/>

    </form>

谢谢大家 - 这是一个错字,if(form2.qty.value.match(numbers) & (form2.product.value != "")) changed to if(form2.qty.value.match(numbers) && (form2.product.value != "")),现在可以工作了。

最佳答案

假设您的目标是 html5:

<input name="qty" type="number" id="qty" style="height:55px;font-size:30pt;"/>

或者,如果您真的想要 type="text":
<input name="qty" type="text" id="qty" pattern="\d+" style="height:55px;font-size:30pt;"/>

另外,你有一个错字:
if(form2.qty.value.match(numbers) & (form2.product.value != ""))

应该
if(form2.qty.value.match(numbers) && (form2.product.value != ""))

关于javascript - 防止为非数字字段提交表单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47812195/

10-13 02:24