我想要的只是一个简单的表格,一个人必须同意在提交信息之前选中该框。但是,javascript 的代码适用于电子邮件验证和所有文本框,但不适用于复选框。它实际上会发出警报,但无论如何都会提交信息。
如何同时调用这两个函数?或者更好的是如何验证并填写高字段并检查 Box?
带有 Java 的 HTML 表单。看我那里有两个javacode。下面的这段代码不起作用。
<input name="imageField" type="image" id="imageField" onclick="if(!form2.checkbox.checked){alert('You must agree to the terms first.');} MM_validateForm('FullName','','R','Email','','RisEmail','Password','','R','Phone','','R');return document.MM_returnValue" src="images/Submit.png" />
用于验证的 javacript:
function MM_validateForm()
{
if (document.getElementById)
{
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3)
{
test=args[i+2];
val=document.getElementById(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="")
{
if (test.indexOf('isEmail')!=-1)
{
p=val.indexOf('@');
if (p<1 || p==(val.length-1))
errors+='- '+nm+' must contain an e-mail address.\n';
}
else if (test!='R')
{
num = parseFloat(val);
if (isNaN(val))
errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1)
{
p=test.indexOf(':');
min=test.substring(8,p);
max=test.substring(p+1);
if (num<min || max<num)
errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
}
}
}
else if (test.charAt(0) == 'R')
errors += '- '+nm+' is required.\n'; }
}
if (errors)
alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
}
}