- ベストアンサー
PHPによる入力フォームのチェック
- JavaScriptで入力チェックを行い、未入力の場合にエラーメッセージを表示する方法と同様に、PHPでも同様の動作を実現することができます。
- 受け取った内容(POST)をチェックし、エラーメッセージを表示するページを別に用意する方法もあります。
- どちらの方法を選ぶかは、開発者の好みや要件によるものです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>PHPでもjavascriptと同じように、innerhtmlと同じようの動作をさせ 微妙におかしい POSTもしくはGETすれば、空のテキストボックスはチェックできますが おそらく非同期でおこないたいのですよね? 良しあしはともかく、非同期処理の場合ajaxで送る処理はかんがえられます。 送った先で空ボックスをチェックして戻り値をdivに返すことは可能でしょう ただ空チェックなら送るまでもなくjavascriptでチェックすれば済む話。 逆にjavascriptをつかわないならajaxもあり得ないです。 つまり、 (1)javascriptで十分 (2)javascriptをつかわないならPOSTやGETするしかない (3)データ送信するならいくらでもやりようがある ってことかな?
その他の回答 (2)
- shimix
- ベストアンサー率54% (865/1590)
#Ajax的に非同期に・・・というのは置いといて(汗 入力フォームに戻すときに、受け取った内容が問題ない(エラーにならない)項目は、入力された値を初期値としてinput要素のvalue属性にセットしますよね。それと同様に所定のdiv要素に最初からエラーメッセージをセットして返します(JavaScriptで入力OKとなったらinnerHTMLをクリアするので消える)。 普通は「入力フォーム」のhtmlソースをテンプレート化しますから、そのときに「POSTされた内容を埋め込む部分」と「エラーメッセージを埋め込む部分」をあらかじめ作っておきます。今回は、そのhtmlソースにJavaScriptを書いておいて、エラーメッセージ部分をブラウザ側でもコントロール出来るようにするというだけですね。
お礼
情報ありがとうございます。 テンプレートの利用をする方法ですね。 参考にさせていただきたいと思います。 情報ありがとうございました。
- tumeno
- ベストアンサー率41% (5/12)
入力内容にもよりますが、重要なものはjavascriptとPHPの両方でチェックすべきです。 javascriptの場合。 > javascriptで、チェックをかけ、未入力の際等に > 各DIVブロックに、innerhtmlで、「入力項目を確認してください」等を > 書き込ませば対応できると思っています。 そうですね。あとはチェックのタイミングをどこでやるかです。 submitの時に全てを纏めてチェック、or onmouseoutの時に1つ1つをチェックするとか。 それで、空の場合にエラーメッセージをinnerhtmlでセットすればokです。
- 参考URL:
- http://asp-form.jp/
お礼
やはり、チェックタイミングで切り分けるのですね。 参考URLも張っていただきありがとうございます。 確かめさせていただきます。 情報ありがとうございます。
お礼
(1)javascriptで十分 (2)javascriptをつかわないならPOSTやGETするしかない (3)データ送信するならいくらでもやりようがある やっぱりこうするのが一番なのですね。 情報ありがとうございます。 助かりました。