javascriptで困っています。助けてください。
テキストボックスに入力された値をonChangeで検出し、入力内容をチェックしようとしています。
テキスト入力後、テキストボックスからフォーカスを外せば、問題なく作動するのですが、
テキストを入力し、フォーカスを外さずに、そのまま送信ボタンを押すと、
チェック結果を待たずに、次のファイル(画面)に移ってしまいます。
多分、onChangeを使う上で、よく発生する問題かと思うのですが、
みなさん、どのように回避されているのでしょうか?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript">
<!--
function check(){
alert('チェック');
}
//-->
</script>
</head>
<body>
<form method="get" action="reg.php">
タイトル<br>
<input type="text" name="title" onChange="check()"><br>
<input type="submit" value="送信"><br>
</form>
</body>
</html>
No.4ベストアンサー
- 回答日時:
<form>
<input type="text" onkeyup="document.getElementById('orz').disabled=this.value!='test'"/>
<input id="orz" type="submit" disabled="true"/>
</form>
IEとFFで、submitが押されたときの画面遷移のタイミングが違うので、
(FFだとonsubmitをハンドルしないとだめっぽい)、チェックを通らない限りsubmitボタンを押せなくしてしまうというのが、わかりやすくていいかもしれません。
ありがとうございます。
この方法で、狙いの機能が実現できました。
ご回答頂いた、皆様にも、お礼を申し上げます。
どうも、ありがとうございました。
No.3
- 回答日時:
titleに対して onkeypressイベントを記述してはいかがでしょう
<input type="text" name="title" onChange="return check();" onKeypress="return keycheck();">
として
function check()
{
window.alert('チェック');
// titleの入力がtestならOK それ以外は NG
return window.event.srcElement.value == "test";
}
function keycheck()
{
if ( window.event.keyCode == 0x0D ) {
return check();
}
return true;
}
No.2
- 回答日時:
通常はformにonSubmitを設定してチェックします
この回答への補足
ご回答ありがとうございます。
サンプルのコードではテキストボックスが1つですが、実際には同一画面に複数のテキストボックスを設定しようとしています。(タイトル、コメント、カテゴリなど)
また、データベース内で、タイトルが重複しないように使用としています。
このため、全てを入力した後チェックをすると、タイトルが重複していた場合、全ての入力が無駄になってしまいます。
そこで、タイトルの入力が終了した時点で、チェックを行いたいのです。
説明不足で申し訳ございませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptで入力フォームが空...
-
ソースコードは下の共有コード...
-
条件により、リンク先に画面遷...
-
テキストエリアに入力可能な文...
-
2重でメール入力チェックをした...
-
onClickとsubmitの処理順序
-
javascriptで入力禁止文字をチ...
-
テキストボックス入力を半角英...
-
数字の1文字目を消したい
-
Javascriptが機能せず原因が分...
-
Acrobat Java Scriptについて教...
-
VBScriptで未入力のチェック(...
-
入力モード 自動 切り替え
-
URLの/以降だけを入力したいです。
-
JSPとJavaScriptの連携について...
-
フィールドを有効(enabled?)に...
-
return trueとreturn falseの用...
-
データベースの値を判断してラ...
-
onchangeイベントを強制的に発...
-
UWSCのIE操作でプルダウンを選...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onClickとsubmitの処理順序
-
テキストボックス入力を半角英...
-
PDFフォームで条件つき金額を表...
-
フォームの値が0だったら空白...
-
javascriptで入力フォームが空...
-
条件により、リンク先に画面遷...
-
フォームから入力すると、入力...
-
日付入力欄の表示形式を自動的...
-
VBScriptで未入力のチェック(...
-
submit後、同じ入力欄に戻らせ...
-
Javascriptが機能せず原因が分...
-
JSPとJavaScriptの連携について...
-
テキストフィールドに入力した...
-
最初の入力を判断
-
イベント発生時に入力待ち状態...
-
過去日付、年の切り替え
-
カレンダーをテキストエリアに...
-
javascriptで入力禁止文字をチ...
-
手書き入力モードを利用して、...
-
入力モード 自動 切り替え
おすすめ情報