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

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

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

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

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

Q&A

解決済

1回答

1518閲覧

Enterキーでsubmitを防止するバリデーションを作成したい

MTON

総合スコア13

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

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

0グッド

0クリップ

投稿2020/04/22 11:39

Enterキーでsubmitを防止するjqueryを記述しています。
こちらのjQueryをjavascriptに変換したいのですが、うまくいきません。
以下にjavascriptに変換したコードを記述しておりますが、どう修正すれば、
うまくいくのでしょうか?
ご教授のほどよろしくお願いいたします。

以下jQueryをJavascriptに修正したいのですが、

HTML

1<form id="myForm" method="post"> 2<table> 3<tr> 4<th><label for="formName">名前 <span class="ind">必須</span></label></th> 5<td><input type="text" name="formName" id="formName"></td> 6</tr> 7<tr> 8<th><label for="formFurigana">ふりがな <span class="ind">必須</span></label></th> 9<td><input type="text" name="formFurigana" id="formFurigana"></td> 10</tr> 11<tr> 12<th><label for="formTell">電話番号 <span class="ind">必須</span></label></th> 13<td><input type="text" name="formTell" id="formTell"></td> 14</tr> 15<tr> 16<th><label for="formMail">メールアドレス <span class="ind">必須</span></label></th> 17<td><input type="text" name="formMail" id="formMail"></td> 18</tr> 19<tr> 20<th><label for="formInquiry">お問い合わせ内容 <span class="ind">必須</span></label></th> 21<td><textarea rows="9" name="formInquiry" id="formInquiry"></textarea></td> 22</tr> 23</table> 24<p><input type="submit" value="送信内容を確認する"></p> 25</form>

css

1html,body,div,p,table,tr,th,td,form,ul,li{ 2 margin: 0; 3 padding: 0; 4} 5 6img{ 7 border: none; 8} 9 10body{ 11 font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif; 12 font-size: 14px; 13 line-height: 20px; 14 margin: 24px; 15} 16 17div{ 18 width: 695px; 19} 20 21li{ 22 list-style: none; 23} 24 25form{ 26} 27 28table{ 29 width: 100%; 30 margin: 0 0 12px; 31 border-collapse: collapse; 32 border-spacing: 0; 33} 34 35th, 36td{ 37 padding: 8px 12px; 38 border: 1px solid #ddd; 39 text-align: left; 40 vertical-align: middle; 41} 42 43th{ 44 width: 180px; 45 background: #eee; 46 font-weight: normal; 47} 48 49th span{ 50 font-size: 12px; 51} 52 53th .ind{ 54 color: #f00; 55 font-size: 14px; 56} 57 58td{ 59 background: #fff; 60} 61 62td input{ 63 width: 250px; 64} 65 66td textarea{ 67 width: 464px; 68} 69 70.errorMsg{ 71 display: block; 72 color: #f00; 73} 74 75.errorInput{ 76 background: #fcf0f2; 77}

jQuery

1$(function () { 2 function setMyForm(target) { 3 target.find('input[type=text]').on({ 4 'keypress': function(e){ 5 if( (e.keyCode == 13) ) return false; 6 } 7 }); 8 } 9 setMyForm($('#myForm')); 10});

//ためしたこと

javascript

1(function () { 2 var inputText = document.querySelectorAll('input[type="text"]') 3 for (let i = 0; i < length; i++) { 4 inputText[i].addEventListener("keypress", function (e) { 5 if (e.keyCode == 13) { 6 return false; 7 } 8 }); 9 } 10})();

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

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

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

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

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

guest

回答1

0

ベストアンサー

inputText.lengthと書かないと要素数が取得できません。
また、既存のアクションを取り消すにはpreventDefault()を用いてください。

javascript

1var inputText = document.querySelectorAll('input[type="text"]') 2for (let i = 0; i < inputText.length; i++) { 3 inputText[i].addEventListener("keypress", function (e) { 4 if (e.keyCode == 13) { 5 e.preventDefault(); 6 } 7 }); 8}

投稿2020/04/22 12:21

編集2020/04/22 12:23
soliste16

総合スコア757

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

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

MTON

2020/04/22 14:41 編集

ご返信ありがとうございます。 記述して頂いたコードに修正したのですが、enterを押すとやはりリロードされてしまいます。
MTON

2020/04/22 14:56

ご返信ありがとうございます。 jsの記述を</body>の直前にもってきたらできました。 すみません、ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問