私が欲しいのは、情報が送信される前にボックスをチェックすることに同意しなければならない単純なフォームだけです。ただし、javascript のコードは、電子メールの検証とすべてのテキスト ボックスでは機能しますが、チェックボックスでは機能しません。実際には警告しますが、とにかく情報を送信します。
これら 2 つの関数を同時に呼び出すにはどうすればよいですか? または、検証して背の高いフィールドに入力し、ボックスにチェックを付けるにはどうすればよいですか?
Java を使用した HTML フォーム。そこに2つのJavaコードがあることを確認してください。以下のコードは機能しません。
<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" />
検証用の javascript:
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 == '');
}
}