ユーザー名とパスワードのinputに未入力の場合に、「ユーザー名(パスワード)を入力してください。」というアラートを表示したいと考えています。
submitを使う場合は、inputにrequiredを記載しておけばブラウザで入力を促してくれますが、Ajaxを使って処理したいと考えているため、今回はその方法はとれません。
このような時、一般的に用いられるセオリーのようなものがあれば、ご教示頂きたいです。
私が考えたのは、下記のコードです。
lang
1function (){ 2 ($("p.alert_input").remove()) ; //p.alert_input要素を一旦消す。 3 if(isset($("input#user_name").val())){ 4 if(isset($("input#password").val())){ 5 //両方とも入力されていた場合の実行内容 ; 6 }else{ 7 $("input#password").after('<p class="alert_input">パスワードを入力してください。</p>') ; 8 } 9 }else{ 10 $("input#user_name").after('<p class="alert_input">お名前を入力してください。</p>') ; 11 } 12};
上記のコードで、user_nameが未入力の場合はuser_nameのinputの下に「お名前を入力してください。」と表示されますし、passwordが未入力の場合はpasswordのinputの下に「パスワードを入力してください。」と表示されます。
しかし、両方とも未入力の場合には、「お名前を入力してください。」しか表示されないことになってしまいます。両方とも未入力であれば、「お名前を入力してください。」と「パスワードを入力してください。」の両方が表示されて欲しいです。どうしたら、そのような処理が可能でしょうか。
また、一番上の、
lang
1($("p.alert_input").empty()) ;
というコードは、一旦表示されたアラートを消すために、初期化的な役割を持たせたものです(これを書かないと、アラートの表示がどんどん増えてしまうため。)。これでも役割は果たしているのですが、もっとスマートな方法がないのかと考えています。
ご存知の方、ご教示いただけないでしょうか。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/02/07 02:57