[英]how to validate form array input field using javascript
我有输入字段,即
form name='myform' action='' method='post' onsubmit= return validate(this); /
input type='text' name='sort_order[]' id='sortorder'
我想在提交按钮上使用javascript来检查所有输入是否具有整数值。
{<javascript>}
function validate(obj)
{
if(obj.elements['sort_order[]'].length == 0)
{
alert(" Please Enter Value!");
return false;
}
}
请帮忙。 谢谢
安德鲁的解决方案相当不错,但是我建议使用正则表达式而不是parseInt,例如
form.onsubmit = function() {
var re = /^\d+$/;
for(var i = 0; i < form.elements.length; i++) {
if(form.elements[i].type == "text" && !re.test(form.elements[i].value)) {
...
因为:
var s = '08';
parseInt(s) == s // false;
对于parseInt和RegExp测试,形式为2e3的整数也将返回false。 这取决于功能的坚固程度或通用性。
好的,您的描述有点模糊,但这是一个解决方案。
如果您的html看起来像这样
<!DOCTYPE html>
<html>
<head>
<title>Form</title>
</head>
<body>
<form id = "important_form">
<input type = "text" value = "0"/>
<input type = "text" value = "0"/>
<input type = "text" value = "0"/>
<input type = "submit" value = "submit"/>
</form>
<script type = "text/javascript" src="validate.js"></script>
</body>
</html>
然后,您可以使用与此类似的javascript
form = document.getElementByID("important_form");
//This will execute when the user presses the submit button.
form.onsubmit = function() {
//Loop through all form elements.
for(var i = 0; i < form.elements.length; i++) {
//If the form element is a text input and the value is not an integer
if(form.elements[i].type == "text" &&
parseInt(form.elements[i].value) != form.elements[i].value) {
alert("Please enter an integer value"); //Replace this with whatever you want
//to do with invalid results
return false; //Stops the submit from continuing.
}
}
return true;
}
var k1=document.getElementsByName("version[]");
var y1=k1.length;
console.log(y1);
for(var x=0;x<y1;x++)
{
if(k1[x].value==null||k1[x].value=="")
{
alert("please fill version");
return false;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.