やりたいことはリストボックスが選択されていない時に、テキストエリアに入力しようとするとメッセージを出すことです。
下記は、未完成の切り貼りです。(全然デタラメかもしれません・・)
助言をいただけると助かります。
<SCRIPT LANGUAGE=javascript>
function alert()
if (document.main.kubun.value = "↓【選択して下さい】"){
alert("先に選択すること。")
}
</SCRIPT>
<FORM NAME="main" ACTION="default.cgi" METHOD="POST">
<SELECT NAME="kubun">
<OPTION SELECTED>↓【選択して下さい】</OPTION>
<OPTION VALUE="東京">東京</OPTION>
<OPTION VALUE="大阪">大阪</OPTION>
</SELECT><BR>
<TEXTAREA NAME="TextArea" ROWS="7" COLS="73" onclick="alert()">
</TEXTAREA>
<INPUT TYPE="SUBMIT" NAME="Submit" VALUE="送信"></form>
No.3ベストアンサー
- 回答日時:
これじゃ、動かないですね~。
(^^;;JavaScriptのコードの間違いは下記5点です。
1.指定されているSELECTボックスの初期値が「↓【選択して下さい】」になっていません。
2.functionを囲む中カッコがありません。
3.SELECTボックスの選択値は、VALUEではとれません。selectedIndexを使用します。
4.if文の条件は"="ではなく"=="です。
5.alertはJavaScriptの予約語ですので、そのままではfunction名に使用できません。
以下、修正ソースです。
--------------------------------------------
<html>
<head>
<script language="javascript">
function checkalert() {
if (document.main.kubun[document.main.kubun.selectedIndex].value == ""){
window.alert("選択してください。");
}
}
</script>
</head>
<body>
<form name="main">
<SELECT NAME="kubun">
<OPTION VALUE="" SELECTED>↓【選択して下さい】</OPTION>
<OPTION VALUE="東京">東京</OPTION>
<OPTION VALUE="大阪">大阪</OPTION>
</SELECT>
<BR>
<TEXTAREA NAME="TextArea" ROWS="7" COLS="73" onClick="checkalert()">
</TEXTAREA>
</form>
</body>
</html>
----------------------------------------------
JavaScriptの基本をキチンと押さえる事をお薦めします。
皆様回答ありがとうございました。言われてみれば、以前にも指摘された内容もあったりして、基本がわかっていないと痛感いたします。ありがとうございました。
No.4
- 回答日時:
No.2の自己フォローです。
s-holmesさんは、テキストエリアに入力しようとするとメッセージが出るようにとお考えですが、これだとテキストエリアをはじめから無視して送信ボタンを押された場合、このチェックの存在も無視されてしまいます。
ですので、「No.2」には私がよく用いる方法を記入してしまいました。
送信ボタンを押したときに、データを送信する前にデータのチェックを行うという方法です。
ちなみに、s-holmesさんのやりたい方法にするとこうなります。
<SCRIPT LANGUAGE="javascript">
function test(){
if (document.main.kubun.options[document.main.kubun.selectedIndex].value==""){
document.main.kubun.focus();
alert("先に選択すること。") ;
return false;
}
}
</SCRIPT>
<FORM NAME="main" METHOD="POST" ACTION="default.cgi">
<SELECT NAME="kubun">
<OPTION SELECTED>↓【選択して下さい】</OPTION>
<OPTION VALUE="東京">東京</OPTION>
<OPTION VALUE="大阪">大阪</OPTION>
</SELECT><BR>
<TEXTAREA NAME="TextArea" ROWS="7" COLS="73" onFocus="test()">
</TEXTAREA>
<INPUT TYPE="submit" NAME="Submit" VALUE="送信">
</form>
No.2
- 回答日時:
関数名についてはhequliさんのおっしゃるとおりです。
スクリプト部分はこんな感じで。
<SCRIPT LANGUAGE="javascript">
function test(){
if (document.main.kubun.options[document.main.kubun.selectedIndex].value==""){
alert("先に選択すること。") ;
return false;
}
}
</SCRIPT>
フォームのタグはこんな感じで。action
<FORM NAME="main" METHOD="POST" onSubmit="return test()" ACTION="default.cgi">
<SELECT NAME="kubun">
<OPTION SELECTED>↓【選択して下さい】</OPTION>
<OPTION VALUE="東京">東京</OPTION>
<OPTION VALUE="大阪">大阪</OPTION>
</SELECT><BR>
<TEXTAREA NAME="TextArea" ROWS="7" COLS="73">
</TEXTAREA>
<INPUT TYPE="submit" NAME="Submit" VALUE="送信">
</form>
思ったように動きました、私の環境(Windows98のNN4、IE4)では。
No.1
- 回答日時:
alertという関数名は予約語なので
違う関数名にしたほうが良いかと思います。
その辺りを考慮してこんな感じでどうでしょうか?
(ちなみに動作確認してないです^^;;)
<SCRIPT LANGUAGE=javascript><!--
function keikoku()
if( document.main.kubun.selectedIndex == 0){
alert("先に選択すること。");
}
//--></SCRIPT>
<FORM NAME="main" ACTION="default.cgi" METHOD="POST">
<SELECT NAME="kubun">
<OPTION SELECTED>↓【選択して下さい】</OPTION>
<OPTION VALUE="東京">東京</OPTION>
<OPTION VALUE="大阪">大阪</OPTION>
</SELECT><BR>
<TEXTAREA NAME="TextArea" ROWS="7" COLS="73" onFocus="keikoku();">
</TEXTAREA>
<INPUT TYPE="SUBMIT" NAME="Submit" VALUE="送信"></form>
参考まで
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現で複数マッチ条件で悩...
-
return trueとreturn falseの用...
-
slickのレスポンシブ > center...
-
COBOLの数字チェック
-
テキストボックスに数字しか入...
-
ドラッグ&ドロップ禁止について
-
未選択のプルダウンメニューを...
-
Visual Studioのデザインでの非...
-
TEXTAREAに入力した改行コード...
-
マウスをブラウザの外に出した...
-
【jsp/Java】チェックボックス...
-
リストボックス内の重複したも...
-
<JavaScript>tableタグを入力不...
-
onchangeイベントを強制的に発...
-
プルダウン 項目が多いので先頭...
-
confirmのOK・キャンセルを押し...
-
チェックボックス付きのテーブ...
-
VBSでブラウザ上のテキストボッ...
-
value内に変数を入れたい
-
formのfileの値をhiddenでも持...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
return trueとreturn falseの用...
-
slickのレスポンシブ > center...
-
フォームの入力チェックをする...
-
チェックボックスの有無判定
-
JavaScriptde途中で、「exit」...
-
COBOLの数字チェック
-
TEXTAREAに入力した改行コード...
-
ラジオボタンのNullチェック
-
Visual Studioのデザインでの非...
-
「本当に削除しますか」が正常...
-
ツリービューのチェックボック...
-
半角英数字のみの入力にエラー...
-
ドロップダウンリストボックス...
-
未入力のラジオボタンに、alert...
-
入力された日付の正規表現の仕...
-
JSのみで入力→確認→メールで送...
-
分岐数といえば
-
度胸試しのJavaScript
-
ドラッグ&ドロップ禁止について
-
Tabキーでのカーソルの移動...
おすすめ情報