人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

HTML5を前提に、javascriptの入力チェックの部分がわかりません。

やりたいこと:
http://1811way.com/work008/test01.php
を見てください。

3番目のコメントはKJXという文字でなければ、
「入力文字が違っています。」
というメッセージを出して、
再度フォーカスがコメント欄へ行くようにしたい。

現在の問題
1度目の入力で、”KJX”という文字(正解の文字)を入力したときは
何も問題ありません。

1度目に
、例えば”KJJ”というように間違った文字を入力したときは、
「入力文字が違っています。」のメッセージが出るまではいいのですが、
再度正しい”KJX”を入力しても、
「入力文字が違っています。」のメッセージが出てきてしまいます。
(「最新の情報に更新」してすべて3項目入力しなおせば、入力できます)

ソースを
http://1811way.com/work008/test01.txt
(文字化けしていたらエンコードしてください)
でアップしておきました。
間違った文字列部分だけ入力しなおす->「確認して送信」
ボタンをクリックすると送信できるように、コード書いていただけますか。

よろしくお願いします。


●質問者: kohhi
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● ぽけっとしすてむ
●300ポイント ベストアンサー
<script>
function check(input) {
if (input.value !== "KJX") {
 input.setCustomValidity('入力文字が違っています。');
 }else{
 input.setCustomValidity('');
 }
}
</script>

二行追加しました。
エラーメッセージをリセットすると、メッセージが表示されなくなり、データを送信できるようになります。
制約 - フォーム - HTML要素 - HTML5 タグリファレンス - HTML5.JP


kohhiさんのコメント
早速お返事いただきありがとうございました。できました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ