フォームがあり、ユーザーは 1 つの入力ボックスに電子メール アドレスを入力する必要があります。HTMLファイルの先頭にロードされている外部ファイルに格納されているjavascript関数があります。
無効な電子メール アドレスを入力すると、Safari (6.0.5) で問題が発生します。警告ウィンドウが表示され、[OK] をクリックすると、何度も表示されます。正しいメールアドレスを入力する機会がありません。
これは私の関数がどのように見えるかです:
function validateEmail()
{
var x=document.forms["theForm"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
{
alert("Not a valid e-mail address");
document.theForm.email.focus();
return false;
}
}
そして、以下に示すように、この関数を呼び出します。
<input type="text" name="email" onblur="validateEmail();" /></td >