function negativeValues(){
var myTextField = document.getElementById('digit');
if(myTextField.value < 0)
{
alert("Unable to submit as one field has a negative value");
return false;
}
}
上面是一段Javascript代码,每次字段ID“digit”的值小于0时,提交按钮上的提示或onclick都会出现一个警告框。
表单中有大约50个字段应该被视为“数字”字段,它们不应该小于0.我应该使用此Javascript更改什么以确保所有“数字”字段都有此警告框弹出?
我不能使用jquery / mootools进行验证 - 它必须是平的Javascript。
感谢。
答案 0 :(得分:0)
var form = document.forms[0]; // first form in the document
form.onsubmit = function () {
for (var i=0; i<this.elements.length; i++)
if (Number(this.elements[i].value) < 0) {
alert("Unable to submit as one field has a negative value"); // complain
return false; // and prevent submission
}
}
答案 1 :(得分:0)
不要给ID =“数字”,ids需要是唯一的。而是给出类 =“digit”或name =“digit []”,它在PHP中将为您提供服务器上的数组。
以下是使用表单访问的典型验证
function validate(theForm) {
var el = theForm.elements;
for (var i=0,n=el.length;i<n;i++) {
if (el[i].className=="digit" && parseInt(el[i].value,10)<0) {
alert('This field must contain a value > 0');
el[i].focus();
return false;
}
}
return true; // allow submission
}
假设
<form onsubmit="return validate(this)">
className ==的替代品将是
if (el[i].className.indexOf('digit')!=-1
如果可以从其他地方操纵className。
您可以使用ID =“digit1”ID =“digit2”和
if (el[i].id.indexOf('digit')==0