我用javascript来检查HTML表单中的数值和空字符串。如果输入了任何其他内容(符号、字母等),表单就不应该提交,并且会弹出一条错误消息。到目前为止,无论如何表单都会提交。我正在尝试设置它,以便如果3个字段中的任何一个字段有不正确的值,它都不会提交。例如:输入“5”然后输入“a”然后输入“5”(或类似输入的任何组合)不应起作用。而“5”然后输入“”然后输入“5”或““然后输入”“然后输入”“或“5”“5”“5”......等则应起作用。
Java脚本函数
function validateOrder()
{
var myOrderRegex = /^(\s*|\d+)$/
if(myOrderRegex.test(document.getElementById("appleorderquantity").value))
{
return true;
}
else
{
alert("Apple quantity invalid: must be numeric");
return false;
}
if(myOrderRegex.test(document.getElementById("grapeorderquantity").value))
{
return true;
}
else
{
alert("Apple quantity invalid: must be numeric");
return false;
}
if(myOrderRegex.test(document.getElementById("strbryorderquantity").value))
{
return true;
}
else
{
alert("Apple quantity invalid: must be numeric");
return false;
}
}
用于输入文本框的HTML
<input type="text" name="Apple_Quantity" id="appleorderquantity" size="25" />
<input type="text" name="Grape_Quantity" id="grapeorderquantity" size="25" />
<input type="text" name="Strawberry_Quantity" id="strbryorderquantity" size="25" />
用于提交按钮的HTML
<input type="submit" value="Submit" onClick="return validateOrder()" />
2条答案
按热度按时间ecfsfe2w1#
在函数结束之前不要返回true--检查任何不应该提交的条件,如果满足其中任何一个条件,则返回false,否则,在检查完所有条件之后,返回true。
而且你最好
如果
validateOrder()
返回false,则表单不提交。8e2ybdfx2#
如果没有Regex,解决方案将是: