以下是添加新基金的代码min_holdings和nav是int值,其他所有是varchar和text字段。在输入这些字段时,我想确保用户输入正确的格式,如int in int int中没有char或string .. 如果是的话应该来一个警告框..怎么做??? !!!
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form method="post" action="AddMF">
<center>
<table>
<tr>
<td>Fund Code</td><td><input type="text" name="mf_code"></td>
</tr>
<tr>
<td>Name</td><td><input type="text" name="mf_name"></td>
</tr>
<tr>
<td>Fund Type</td><td><input type="text" name="mf_type"></td>
</tr>
<tr>
<td>Current NAV</td><td><input type="text" name="nav"></td>
</tr>
<tr>
<td>Minimum Holdings</td><td><input type="text" name="mf_min_holdings"></td>
</tr>
<tr>
<td>Description</td><td><input type="text" name="mf_description"></td>
</tr>
<tr>
<td>Termd and Conditions</td><td> <input type="text" name="mf_TandC"></td>
</tr>
</table>
<br>
<input type="submit" value="submit">
</center>
</form>
</body>
</html>
答案 0 :(得分:0)
您可以使用JQuery Validation插件.. 这将有所帮助:
答案 1 :(得分:0)
为您的表单提供ID,例如frmId
:
<form id='frmId' method='post' action='AddMF'>
然后,添加以下JS:
//assuming window.onload or something
document.getElementById('frmId').onsubmit = function(e)
{
e = e || window.event;
var inputs = this.elements,
i, val;
for (i=0;i<inputs.length;i++)
{
if (inputs[i].value.trim() == +(inputs[i].value.trim()) && inputs[i].value.trim().length > 0)
{//trim value, continue
inputs[i].value = inputs[i].value.trim();
continue;
}
alert('Expected numeric input, saw: "' + inputs[i].value +'"');
//stop submitting the form
if (e.preventDefault)
{
e.preventDefault();
e.stopPropagation();
}
e.returnValue = false;
e.cancelBubble = true;
return false;
}
};
现在,上面的代码假设所有输入都应该是数字。您可以通过使用类或甚至各种输入元素的ID /名称来指定您期望的输入类型 只是为了告诉你我正在检查输入的方式:
inputs[i].value.trim()//strip all trailing and leading spaces from input
== +(inputs[i].value.trim())//loose comparison to the same value, coerced to a number
这相当于:
'1' == 1 or 'a' == 0
如果用户输入a
,则等于false,如果输入为数字,则为真。如果没有输入,则比较等同于:
'' == 0
这是true
,这就是为什么我添加了&& inputs[i].value.trim().length > 0
,以确保输入值至少一个字符长。
如果要检查alfanumeric输入,可以使用这样的正则表达式:
inputs[i].value.test(/^[a-z]+$/i)//only chars from a to z, case insensitive
依旧等等......但是解释正则表达式并不是可以在这里轻松完成的事情,只需谷歌“正则表达式javascript”并学会爱他们......然后爱到也恨他们:)