質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

1688閲覧

jqueryボタン一括処理でreturn true;を削除しましたがパスワード変数がnullになります

kentros511

総合スコア122

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2015/12/18 02:37

編集2015/12/18 06:46

JSP

1$('#button1').on('click',function(){ 2 if ($('#hoge').val() =="" || $('#hoge1').val() =="" ) { 3 $('#sms').text("未入力箇所があります"); 4 } ←ここまでは写る 5 6/*全角入力はじく*/ 7 var mail_regex1 = new RegExp( '(?:[-!#-\'*+/-9=?A-Z^-~]+\.?(?:\.[-!#-\'*+/-9=?A-Z^-~]+)*|"(?:[!#-\[\]-~]|\\\\[\x09 -~])*")@[-!#-\'*+/-9=?A-Z^-~]+(?:\.[-!#-\'*+/-9=?A-Z^-~]+)*' ); 8 var mail_regex2 = new RegExp( '^[^\@]+\@[^\@]+$' ); 9 if( address.match( mail_regex1 ) && address.match( mail_regex2 ) ) { 10 // 全角チェック 11 if( address.match( /[^a-zA-Z0-9\!\"\#\$\%\&\'\(\)\=\~\|\-\^\\\@\[\;\:\]\,\.\/\\\<\>\?\_\`\{\+\*\} ]/ ) ) { 12 return false; } 13 // 末尾TLDチェック(co,jpなどの末尾ミスチェック用) 14 if( !address.match( /\.[a-z]+$/ ) ) { return false; 15 } 16 **→ここが指摘していただき削除した部分です** 17 } else { 18 return false; 19 } 20 21/*パスワード生成部分*/ 22 var seed0 = '0123456789qwertyuiopasdfghjklzxcvbnm';//英数字 23 var pwd= ''; 24 for(var i=0;i<8;i++) { 25 var pos = Math.floor(Math.random() * seed0.length); 26 pwd += seed0[pos]; 27 } /*for*/ 28 29 $('<input>').attr({ 30 type: 'hidden', 31 id: 'input_id', 32 name:'pwd', 33 value:pwd 34 }).appendTo("form");/*''と""ひとつで変数はできなくなる"*/ 35 36 });
```JSP 初めての方への登録ボタン <html:submit property="dispatch" styleId="button1"> <bean:message key="firster"/> </html:submit>
<```HTML label for="name"> 氏名:</label> <input type="text" name="name" value="" id="hoge"> <br/><br/> <p><label for="email">メールアドレス:</label> <input type="text" name="address" value="" id="hoge1"> &nbsp; <input type="submit" name="dispatch" value="登録" id="button1"></p>

パスワードをnullじゃなく、したいです
現状:未入力箇所がありますが出た後動作を飛ばしnullパスワードがメールで届きます

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2015/12/18 05:43

#button1 のHTMLを見たいのですが可能ですか?
Lhankor_Mhy

2015/12/18 05:58

それはHTMLではないでしょw ググって把握。<input type="submit" id="button1"/> ですね。
guest

回答1

0

ベストアンサー

javascript

1$('#button1').on('click',function(e){ 2 e.preventDefault(); 3 if ($('#hoge').val() =="" || $('#hoge1').val() =="" ) { 4 $('#sms').text("未入力箇所があります"); 5 6 } 7/*全角入力はじく*/ 8 var mail_regex1 = new RegExp( '(?:[-!#-\'*+/-9=?A-Z^-~]+\.?(?:\.[-!#-\'*+/-9=?A-Z^-~]+)*|"(?:[!#-\[\]-~]|\\\\[\x09 -~])*")@[-!#-\'*+/-9=?A-Z^-~]+(?:\.[-!#-\'*+/-9=?A-Z^-~]+)*' ); 9 var mail_regex2 = new RegExp( '^[^\@]+\@[^\@]+$' ); 10 if( address.match( mail_regex1 ) && address.match( mail_regex2 ) ) { 11 // 全角チェック 12 if( address.match( /[^a-zA-Z0-9\!\"\#\$\%\&\'\(\)\=\~\|\-\^\\\@\[\;\:\]\,\.\/\\\<\>\?\_\`\{\+\*\} ]/ ) ) { 13 return false; } 14 // 末尾TLDチェック(co,jpなどの末尾ミスチェック用) 15 if( !address.match( /\.[a-z]+$/ ) ) { return false; 16 } 17 **→ここが指摘していただき削除した部分です** 18 } else { 19 return false; 20 } 21/*パスワード生成部分*/ 22 var seed0 = '0123456789qwertyuiopasdfghjklzxcvbnm';//英数字 23 var pwd= ''; 24 for(var i=0;i<8;i++) { 25 var pos = Math.floor(Math.random() * seed0.length); 26 pwd += seed0[pos]; 27 } /*for*/ 28 29 $('<input>').attr({ 30 type: 'hidden', 31 id: 'input_id', 32 name:'pwd', 33 value:pwd 34 }).appendTo("form");/*''と""ひとつで変数はできなくなる"*/ 35 $('form').submit(); 36 37 });

DOM操作する前にPOSTされてるんじゃないかと拝察。デフォルトを止めて後からsubmitすればいいのでは、と思いました。
でも、enterで投稿された時はどうするんだろう?

投稿2015/12/18 06:19

Lhankor_Mhy

総合スコア36076

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kentros511

2015/12/18 06:32

回答ありがとうございます DOM操作(Document object model)の意味を教えてほしいです enterキー押しても何も反応しない設定なんで大丈夫です
Lhankor_Mhy

2015/12/18 06:46

$('<input>').attr ... の部分です。提示したコードで上手くいきましたか?
kentros511

2015/12/18 06:51

パスワードは相変わらずnullですね パスワード単体部分だと成功しますが組み込むとnullになりますね
Lhankor_Mhy

2015/12/18 07:01

javascriptのエラーはなんか出てます?
kentros511

2015/12/18 07:05

var mail_regex2 = new RegExp( '^[^\@]+\@[^\@]+$' );の部分で Uncaught ReferenceError: address is not defined  が出ます
Lhankor_Mhy

2015/12/18 07:07

address オブジェクトはなにかモジュールを使ってるんですよね? その部分のHTMLを開示できますか?
kentros511

2015/12/18 07:14

<fieldset id="f1"> <legend>初めての方はこちら</legend> &nbsp; <label for="name"> 氏名:</label> <input type="text" name="name" value="" id="hoge"> <br/><br/> <p><label for="email">メールアドレス:</label> <input type="text" name="address" value="chinuki@infinitys.co.jp" id="hoge1"> &nbsp; <input type="submit" name="dispatch" value="登録" id="button1"></p> </fieldset> です 解析よろしくお願いいたします
kentros511

2015/12/18 07:16

addressのとこのvalueは通常は””です 打った文字がそのまま入ってます
kentros511

2015/12/18 07:19

エラーはこっちでした if( address.match( mail_regex1 ) && address.match( mail_regex2 ) ) {
Lhankor_Mhy

2015/12/18 07:24

バグ取りぐらいしてから質問した方がいいんじゃないかな? と思う。   イベントリスナの上の方に↓を追加。 var address = $('[name=address]').text();
kentros511

2015/12/18 07:26

ありがとうございます 試してみます
Lhankor_Mhy

2015/12/18 09:08

間違えました。 var address = $('[name=address]').val();
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問