表单验证文本框号码是0 - 99,如果不是警报

时间:2012-01-30 16:44:39

标签: javascript html

我有一个要求各种数字的表格

然后输入苹果的苹果数量。身份证是苹果。我尝试过onclick和onfocus,但效果不佳。我只是想在他们进入下一个框之后检查以确保它是有效数字或提出警报并重点关注。

以下是我对该方法的看法。

function validate (apple) {
  var textInput = document.getElementById(apple);
  var value = parseInt(textInput.value, 10);
  return ( value >= 0 && value <= 99);
  alert("number wrong")
}

这是代码

<td><input type = "text" id = "apple" size="1" onkeypress="validate();"/></td></tr>    

3 个答案:

答案 0 :(得分:2)

在显示警报之前,您将在所有情况下从该功能返回。尝试:

function validate (apple) {
  var textInput = document.getElementById(apple);
  var value = parseInt(textInput.value, 10);
  // Store the comparison's return value
  var ret = ( value >= 0 && value <= 99);
  // Then show the alert if necessary
  if (!ret) {
    alert("number wrong");
  }
  // Finally, return the comparison's result
  return ret;
}

答案 1 :(得分:2)

你应该使用onblur,这是元素失去焦点时的事件。

您在return之前alertalert将无法执行。

答案 2 :(得分:0)

function sales_tax_validate (id) {

  var textInput = $("#sales_tax_"+id).val();

  var value = parseInt(textInput);

  var ret = ( value >= 0 && value <= 99);
  // Then show the alert if necessary
  if (!ret) {
    alert("Please enter number between 0 to 99.");
    $("#sales_tax_"+id).val("");
    $("#sales_tax_"+id).focus();
  }
  // Finally, return the comparison's result
  return ret;
}

<input type="text" required name="sales_tax_<?php echo $rows['id'];?>" id="sales_tax_<?php echo $rows['id'];?>" value="<?php echo $sales_tax;?>" onblur="sales_tax_validate(<?php echo $rows['id'];?>);">