http://oshiete1.goo.ne.jp/kotaeru.php3?q=1810910
でご教示いただいたスクリプトに若干の機能追加です。
(1) テキストフォームに
値がある場合はチェックOFF
値がない場合はチェックON
(2) テキストフォームに何か値があるのにチェックされた
場合は、テキストフォームの値はクリア、
以上までは、これまで当掲示板で教わったいろいろな
サンプルで何とか実現できたのですが、
チェック=OFF、テキストフォーム=空 という状態が作れてしまうため
この状態にsubmitボタンを押下した際は、
alert("チェックとテキストの両方が指定されていません");
のように、POSTを許可しないようにしたいです。
よろしくお願い致します。
<html>
<head>
<script language="JavaScript" type="text/JavaScript">
<!--
function checktext() {
if(document.n0.n2.value.length){document.n0.n1.checked=false;}
else{document.n0.n1.checked=true;}
}
function autoClear(f,cn,fl){
for (var i=0;i<f.elements.length;i++) {
if (f.elements[i].className == cn) {
f.elements[i].value = "";
}
}
}
//-->
</script>
</head>
<body>
<form name="n0" id="0" action="" method="post">
<input type="checkbox" name="n1" id="1" onClick="autoClear(this.form,'n2',this.checked);" checked>
<input type="text" name="n2" id="2" class="n2" onChange="checktext()">
<input type="submit">
</form>
</body>
</html>
No.1ベストアンサー
- 回答日時:
<input type="submit">
を
<input type="submit" onClick="if((n1.checked==false)&&(n2.value=='')) return false;">
に置き換えてみてください。
というか、checkboxのonClickに手を入れれば両方とも空にならなく出来そうですが・・・。
No.4
- 回答日時:
なんか考えすぎな気がします。
このくらいにおさえておくのが現実的なんではないでしょうか?
この場合n1とn2がともに未選択はないはずです。
ちょっとへんな動きもありますが、まぁそれはご愛嬌で。
<html>
<head>
<script language="JavaScript">
function checktext(num,cn) {
num.form.elements[cn].checked=(num.value=="");
}
function autoClear(num,cn){
if(num.checked){
num.form.elements[cn].value = "";
}else{
num.form.elements[cn].focus();
}
}
</script>
</head>
<body>
<form name="n0">
<input type="checkbox" name="n1" onClick="autoClear(this,'n2');" checked>
<input type="text" name="n2" onBlur="checktext(this,'n1')">
<input type="submit" value="send">
</form>
</body>
</html>
yamabejpさん、いつもありがとうございます。
お気づきかと思いますが
元質問のサンプルは、前にyamabejpさんに
ご教示いただいたclassで管理するscriptです。
本題ですが、やっぱり考えすぎですかね?
前にも、「複雑なことするのはあまりよくない」
とご指摘いただきましたが、確かに
神経質?になってるかもしれません。
ご提示いただいたものも試させていただき、
動作は良好です。
Excelのグラフ軸ダイアログと同じ作動を目指して
いるのですが、yamabejpさんのものが最適かも
しれません。
いずれにせよ、ありがたいことに3つ例示いただき
ましたから、一番都合よさそうなものを組み込ま
させていただきます。
今後ともよろしくお願い致します
No.3
- 回答日時:
function sendCheck(f){
if(!f.n1.checked && f.n2.value==""){
alert("チェックとテキストの両方が指定されていません");
return false;
} else {
return true;
}
}
としといて
<form name="n0" id="0" action="" method="post" onsubmit="return sendCheck(this)">
とする
BLUEPIXYさん、いつもご教示ありがとうございます。
動作の方も完璧です。#1さんのように
違って外部ファイルにもてるのがいいですね。
(無論、#1さんのもそうできるでしょうが)
本件、どれが最適か迷ってしまいますが、
いろいろ検討させていただきます。
No.2
- 回答日時:
#1です。
alert()忘れてました。<input type="submit" onClick="if((n1.checked==false)&&(n2.value=='')){ alert('チェックとテキストの両方が指定されていません'); return false;}">
でalert()も表示されるはずです。
失礼しました。
Chronos198さん、レスありがとうございました。
御礼遅くなってすみません。
動作の方、もちろんばっちりでした。
こうして1行に収まってしまうほど
シンプルに片付くとは思いませんでした(^^;
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
チェックボックスのON/OFFに応...
-
チェックボックスの設定
-
チェックボックスのON/OFFでVal...
-
【jsp/Java】チェックボックス...
-
チェックボックスを使って条件検索
-
チェックボックスが複数ある場...
-
複数のチェックボックス項目が...
-
JSP内で可変するチェックボック...
-
Objective-Cでチェックボックス...
-
javascriptでチェックボックス...
-
背景色を変えて未入力チェック...
-
メールフォームの未入力チェッ...
-
return trueとreturn falseの用...
-
プルダウン 項目が多いので先頭...
-
submitボタン押下時にPOSTされ...
-
onchangeイベントを強制的に発...
-
大文字か小文字かを判断する方法
-
【jQuery】input nameの文字列...
-
Selectボックスの幅を自動で広...
-
ラジオボタンにタブインデック...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【jsp/Java】チェックボックス...
-
チェックボックスのON/OFFでVal...
-
チェックボックスのON/OFFに応...
-
複数のチェックボックス項目が...
-
checkboxをクリックしてリロー...
-
チェックボックスの設定
-
チェックボックスで指定したも...
-
フォームのチェックボックスの...
-
チェックボックス
-
配列のチェックボックスをjavas...
-
一つのチェックボックスのON/OF...
-
チェックボックスが複数ある場...
-
スクリプト内でチェックボック...
-
特定のID(またはクラス)で括ら...
-
チェックボックスに連動するテ...
-
<input type="checkbox" checke...
-
チェックボックスに全てチェッ...
-
Nameは配列で、チェックされた...
-
EclipseでSpringを使用し、テー...
-
チェックボックスとラジオボタ...
おすすめ情報