メールのグループに関する2つのテキストエリアを含むフォームがあります。javascriptで1つの小切手が無効な場合、フォームの検証が中断されます
<form name="myform" action='entryupdate.php' method="post">
<textarea name="mailgroup1" rows="2" cols="50" onchange="checkFormValue();">
</textarea>
<textarea name="mailgroup2" rows="2" cols="50" onchange="checkFormValue();">
</textarea>
<input name="update" type="submit" value="Update description"/>
</form>
私の内部規範の後に電子メールが整形されているかどうかを確認する機能があります。フィールドはクラスが無効に設定されている場合は
function checkmail(component){
var emailpattern = /^[A-z0-9\._-][email protected][A-z0-9][A-z0-9-]*(\.[A-z0-9_-]+)*\.([A-z]{2,6})$/;
var mails = component.value.split(/[\n\r\t ]+/);
var valid = true;
for(var i=0; i<mails.length; i++){
valid = valid && emailpattern.test(mails[i]);
alert("Mail: "+mails[i]+" Valid: "+ emailpattern.test(mails[i]));
}
if(valid){
component.setAttribute('class', 'valid');
}else{
component.setAttribute('class', 'invalid');
}
return valid;
}
は、以下のスタイルが適用されます:
値はテキストエリアのいずれかに変更され.invalid
{
background-color:#fffacd;
}
、以下の機能があれば確認した、と呼ばれていますいずれかの値が正しく書式設定されていない場合、送信ボタンが無効になります。
function checkFormValue(){
var validform = true;
validform = validform && checkmail(document.myform.mailgroup1) && checkmail(document.myform.mailgroup2);
document.hotfixomat.update.disabled = !validform;
}
問題は、最初のチェックがfalseを返した場合、その後、第2のチェックが行われていない、そしてそれは値が正しくフォーマットされていないことを起これば、その変更はスタイルが行われていないです。 (ただし、送信ボタンは無効です)。小切手はなぜ中断されますか?