🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

1131閲覧

input type="text"でエンターキー操作でクリックイベントと同じ処理を実行する

SugiuraY

総合スコア318

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/10/09 06:56

【現状】
下記のようなコードで#keywordにおいて入力した値を#searchをクリックすることでイベントが発生いたします。
formやsubmitは他の仕様上の理由から使用していません。

【やりたいこと】
当然、#keywordテキスト入力時にenterを押してもform要素を使用していないため、#searchをクリックすることで実行されるイベントは発生しないため、これをenterされることによっても実現したいと考えております。
form要素を利用しない理由はinput type="submit"や buttonタグを使用するとcss上望まないデフォルトの装飾がなされるため、これをクリアするよりも、divタグを利用して0からcssを施すほうが早いため、そのようにしております。

宜しくお願い申し上げます。

html

1<div class="nice-wrap_2"> 2 <input id="keyword" class="nice-textbox" type="text" placeholder="地名等を入力してください"/> 3</div> 4<div class="btnWrapper"> 5 <div id="search" class="btn"><i class="fas fa-search"></i></div> 6</div>

Javascript

1$(function(){ 2 $('#search').on('click',function(){ 3 //#searchがクリックされたら実行される処理、"keywordでenter(window.event.keyCode == 13 )でも 4 //同じように処理が実行されるようにしたい、ただし、form要素は使用しない 5 }) 6})

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

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

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

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

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

guest

回答2

0

命題のとおりやるならこう?

javascript

1<script> 2$(function(){ 3 $('#search').on('click',function(){ 4 console.log("search!"); 5 }); 6 $('#keyword').on('keydown',function(e){ 7 if(e.keyCode==13) $('#search').trigger('click'); 8 }); 9 10}); 11</script> 12<div class="nice-wrap_2"> 13 <input id="keyword" class="nice-textbox" type="text" placeholder="地名等を入力してください"/> 14</div> 15<div class="btnWrapper"> 16 <div id="search" class="btn">test</div> 17</div>

表示上の理由でsubmitを「設置しない」理由がいまいちわかりません
設置して隠せばいいだけでは?
そもそもformじゃなければsubmitされないですよね?
もしsubmitしない場合は何したいのかもう少し詳しく書いたほうがよいです

HTML

1<form> 2<div class="nice-wrap_2"> 3<input id="keyword" class="nice-textbox" type="text" placeholder="地名等を入力してください"/> 4</div> 5<div class="btnWrapper"> 6<label for="s">test</label> 7</div> 8<input type="submit" style="display:none" id="s"> 9</form>

投稿2019/10/09 07:33

yambejp

総合スコア116694

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

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

SugiuraY

2019/10/14 04:07

コメント遅くなり申し訳ございません、 無事解決することができました。 submitを設置しない理由はbuttonタグをcss装飾をしたくないというのが理由でしたが、input "submit"であればこれを回避することができるので、確かにその方法もあると思います。 ご指摘いただきありがとうございます。
guest

0

ベストアンサー

こういうことでいいすか?違う?

javascript

1$(function(){ 2 $('#search').on('click',function(){ 3 searchClick(); 4 }); 5 $('#keyword').on("keydown", function(e){ 6 if(e.keyCode === 13) { 7 searchClick(); 8 } 9 }); 10}) 11 12function searchClick() { 13 alert(`search ${getText()}!`); 14} 15 16function getText() { 17 return document.getElementById("keyword").value; 18}

投稿2019/10/09 07:44

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

SugiuraY

2019/10/14 04:08

ありがとうございます。ご案内の方法で実装することができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問