JavaScriptでHTMLフォームの検証に問題があります。彼ら自身ではそれぞれ働くが、一緒には働かない。フォームで同じHTMLフォームに2つのJavaScriptリファレンスを使用するにはどうすればよいですか?
// Make sure the e-mail address is valid
function validateEmail(mailform,email) {
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var address = document.forms[mailform].elements[email].value;
if(reg.test(address) == false) {
alert('E-mail not valid');
return false;
}
}
属性::
これは動作します
onsubmit="javascript:return validateEmail('mailform', 'email');"
をそして、これは動作します:フォームでが
// Make sure the message is long enough
function validateBody(mailform,mailbody) {
var msg = document.forms[mailform].elements[mailbody].value.length;
if (msg < 3) {
alert('Too hort');
return false;
}
}
属性:
onsubmit="javascript:return validateBody('mailform', 'mailbody');"
しかし、これは動作しません:フォームで
// Make sure the e-mail address is valid AND that the message is long enough
function validateForm(mailform,email,mailbody) {
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var address = document.forms[mailform].elements[email].value;
var msg = document.forms[mailform].elements[mailbody].value.length;
if(reg.test(address) == false) {
alert('Please enter a valid e-mail address');
return false;
} else if (msg < 3) {
alert('Text too hort');
return false;
}
}
属性:
onsubmit="javascript:return validateForm('mailform', 'email', 'mailbody');"
はなぜ?
私が言ったように、彼らはそれぞれ独自の機能を持っていますが、機能が異なる場合でも一緒に機能しません。
2番目の例では 'mailform'はどこから来ますか?そして、あなたは決して 'email'パラメータを使用しません... – RedFilter
どのように動作しません:彼らはエラーをキャッチしないか、または正しい入力を提出しませんか?何かJavaScriptエラーが出ますか? – kontur
エラーはありません。それは "正しい"入力に反応しません。 (ええと、私はJavaScriptの新機能です) はい、私は '電子メール'を使用しています... 'form form = "mailform" name = "contactform" method = "post" action = " send_form_email.php "onsubmit =" javascript:return validate( 'mailform'、 'email'); "> – Kebman