• ベストアンサー

未入力のテキストエリア

こんにちは。 テキストエリアにデータを入力して その入力チェックを行いたいと思います。 入力項目にspace(全角、半角ともに)のみ入力された場合、 escape関数を使用すれば未入力と判断させることはできました。 かりにspaceを4つほど入力(判定では未入力と判断させたい)した 場合、うまくロジックを組むことができません。 どうかアドバイス宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#199778
noname#199778
回答No.1

フォームの値を取得した後、半角スペースや全角スペースを「.replace()」メソッドを利用して除去してしまい、スペース以外の文字が残らない場合には未入力と判断するようにすればよいと思います。 具体例を挙げてしまいますが、 txt=document.form1.input1.value; txt2=txt.replace(/ /g,""); txt2=txt2.replace(/ /g,""); if (!txt2){ alert("未記入です");} このようにすると、  一行目でフォーム内容を取得して変数txtに格納、  二行目で変数txt内の全角スペースをすべて除去(内容のない値に置換)してチェック用の変数txt2に格納、  三行目で変数txt2内の半角スペースも上と同じく除去、  最後に変数txt2の中に値があるかどうかをチェックして、値がなければ未記入として警告を出す という処理ができます。 これでお求めの動作が得られるのではないかと思います。 参考になれば幸いです。

pantsu69
質問者

お礼

早速の返信ありがとうございます。 replaceというのがあるのはしりませんでした。 勉強不足ですね。 上記のスクリプトでうまく動作しました。 ありがとうございました。 また質問などありましたら、ご厄介になりますが、 宜しくお願い致します。m(_ _)m

関連するQ&A

専門家に質問してみよう