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

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

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

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

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

Q&A

解決済

4回答

1462閲覧

Javascriptを使った空検索禁止がうまくできません。

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

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

0グッド

0クリップ

投稿2017/06/05 05:24

すごく簡単でいいのでjavascriptを使った空検索禁止を実装したいです。
以下のコードを書いたのですがアラート表示はでるものの何故か検索が続行されてしまいます。

初心者なので基本的なことをわかっていないと思いますのでご了承ください。よろしくお願いします。

トップページ【index.php】

javascript

1<html> 2<head> 3<script> 4 <?php echo $message; ?> 5 6 function search() { 7 if (document.forms[0].searchword.value == "") { 8 alert("文字が入力されていません。"); 9 document.forms[0].searchword.focus(); 10 return; 11 } 12 13 document.forms[0].submit(); 14 } 15 16 </script> 17... 18</head> 19.... 20<!--検索フォーム--> 21 <form action="sample.php" method="post"> 22 <input class="...." type="text" name="searchword" id="searchword"> 23 <input type="submit" value="検索する" onclick="search()"> 24</form>

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

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

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

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

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

guest

回答4

0

submitイベントを発火するのはform要素。

HTML

1<form action="sample.php" method="post" 2onsubmit="return search()">

js

1 function search() { 2 if (document.forms[0].searchword.value == "") { 3 alert("文字が入力されていません。"); 4 document.forms[0].searchword.focus(); 5 return false; 6 } 7 return true; 8 }

投稿2017/06/05 05:35

編集2017/06/05 05:35
kanimaru

総合スコア1013

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

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

0

ベストアンサー

簡単になるならreturn の戻り値できりわけます
onclickやonsubmit側でもreturn で受けないといけません

javascript

1<script> 2function search(){ 3 if (document.forms[0].searchword.value == "") { 4 alert("文字が入力されていません。"); 5 document.forms[0].searchword.focus(); 6 return false; 7 } 8 return true; 9} 10</script> 11<form action="sample.php" method="post" onsubmit="return search()">> 12<input class="...." type="text" name="searchword" id="searchword"> 13<input type="submit" value="検索する"> 14</form>

投稿2017/06/05 05:34

yambejp

総合スコア114843

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

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

0

input のタイプを submit ではなくbutton にすれば良いと思います。
そうでないと、スクリプト側で submit しなくても submit は実行されてしまいます。

投稿2017/06/05 06:09

TakashiMiyagi

総合スコア12

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

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

0

inputにtype="submit"属性がついていますので、search()とは別にsubmitが行われています。

html

1<button onclick="search()">検索する</button>

ボタン属性にすれば、search()を呼び出すだけになります。

投稿2017/06/05 05:36

namimon

総合スコア726

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

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

namimon

2017/06/05 05:41

あ、return が原因だ・・・ 失礼しました。マイナスをお願いします。
退会済みユーザー

退会済みユーザー

2017/06/05 06:04

コメントありがとうございます。「inputにtype="submit"属性がついていますので、search()とは別にsubmitが行われています。」の一言があったおかげで何が原因かがすぐにわかり他の人のコメントも理解しやすかったです!ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問