0

我想要的只是一个简单的表格,一个人必须同意在提交信息之前选中该框。但是,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 == '');
    } 
}
4

0 回答 0