0

ユーザーが何かをダウンロードするために自分の名前と電子メールを 2 回入力する必要がある Web サイトのフォームがあります。ただし、ユーザーはフィールドに 2 つの異なる電子メールを入力して [送信] をクリックすると、引き続き成功メッセージが表示されます。なんで?これを達成するために使用できるパターン属性はありますか? ユーザーが同じメールを 2 回入力するか、エラー メッセージが表示されるようにする必要があります。

これは私のHTMLです:

<form id="form" method="post" action="formmail.php" name="form" width="100%">
<input type="hidden" name="good_url" value="https://MYURL.com/index.html#submitgood" />
<input type="hidden" name="bad_url" value="https://MYURL.com/index.html#submitbad" />
<input type="hidden" name="env_report" value="REMOTE_HOST,REMOTE_ADDR,HTTP_USER_AGENT,AUTH_TYPE,REMOTE_USER" />
<input type="hidden" name="derive_fields" value="email=EmailAddr,realname=username" />
<input type="hidden" name="recipients" value="myaddress" />
<input type="hidden" name="subject" value="Download" />

<fieldset>
<legend>Please fill out the information below to download.<br><br>Filesize, 59.8 MB.</legend><br>
<table cellspacing="0" cellpadding="0" id="confquest"><tr height="80px"><td>
<label for="Name" id="namelabel"><strong>Full name:</strong></label><br>
<input id="Name" type="text" name="username" title="Enter your full name" placeholder="Your Name" autofocus required /></td></tr>

<tr height="80px"><td><label for="eMail" id="emaillabel"><strong>Email address:</strong></label><br>
<input id="eMail" type="email" name="EmailAddr" title="Enter your email address" placeholder="example@mail.com" required /></td></tr>

<tr height="80px"><td><label for"eMail_repeat" id="emaillabel2"><strong>Repeat Email address:</strong></label><br>
<input id="eMail_repeat" type="email" name="email_addr_repeat" title="Repeat your email address" placeholder="example@mail.com" required oninput="check(this)" /></td></tr>
</table>

<input id="reset2" type="reset" name="reset" value="Clear" />
<input id="submit2" type="submit" name="submit" value="Submit" />
<input type="hidden" name="mail_options"
value="HTMLTemplate=https://www.MYURL.com/fmtemplates/mailtemplate5.html" />
</fieldset></form>
4

1 に答える 1

1

メールの繰り返しの入力フィールドの後にこれを追加すると機能します。

<script> 
function check(input) { 
if (input.value != document.getElementById('eMail').value) { 
input.setCustomValidity('The two email addresses must match.'); 
} else { 
// input is valid -- reset the error message 
input.setCustomValidity(''); 
} 
} 
</script>
于 2013-10-30T16:34:05.487 に答える