私は顧客のユーザー名として入力をとる単純なHTMLフォームを作成しました。実際に有効なユーザ名かどうかを検証します。はいの場合はstep2.php
ページに移動し、そうでない場合はエラーを表示して元のページに留まります。HTMLフォームの検証
<form method="post" onsubmit="validateUsername();" id="myform" name="myform" action="step2.php">
Choose username: <input type="text" id="username" name="username" />
<input type="submit" value="Submit">
</form>
私はjavascript関数を使用してユーザー名を検証しています:ここで
は私のHTMLコードですfunction validateUsername()
{
var x=document.forms["myform"]["username"].value.length;
if (x < 5)
{
alert('Username too short.');
return false;
}
else
{
return true;
}
}
私の問題:ユーザーが短いユーザ名を入力
場合「Username too short」という警告メッセージが表示されます。警告メッセージで「OK」ボタンを押すと、step2.phpに進みます。理想的には、ユーザー名が正しく検証された場合にのみ、step2.phpにデータを送信する必要があります。しかし、これは起こっていない。
誰かが私のコードでバグを見つけることができますか?
私は(あまりJavaScriptを使用していない)覚えていないが、私はあなたが防ぐために、送信ボタンの 'onclick'トリガーにチェックを入れて持っていると思いますフォームから提出する。 – animuson
@animuson:Enterを押しても同様のフォームを送信できます。 – Ivan