JavaScriptでチェックボックスにチェックが入るとテキストボックス自動で数字の1が入る仕組みを作っています。
以下のソースまではかけたのですが
列はそれほどないのですがと行数が多数存在します。
ファンクションが一つで済む方法はありませんでしょうか。
またデータを配列で送信したいのですが配列ですと動きません。
是非教えて頂けると幸いです。
<SCRIPT LANGUAGE="JavaScript">
function check1(radio) {
//チェックボックスにチェックが入った場合
if(radio.checked) {
form = radio.form;
form.data1[1].value = radio.value;
form.data1[2].value = radio.value;
form.data1[3].value = radio.value;
form.data1[4].value = radio.value;
}else{
//チェックが外された場合
form = radio.form;
form.data1[1].value = "";
form.data1[2].value = "";
form.data1[3].value = "";
form.data1[4].value = "";
}
}
function check2(radio) {
//チェックボックスにチェックが入った場合
if(radio.checked) {
form = radio.form;
form.val5.value = radio.value;
form.val6.value = radio.value;
form.val7.value = radio.value;
form.val8.value = radio.value;
}else{
//チェックが外された場合
form = radio.form;
form.val5.value = "";
form.val6.value = "";
form.val7.value = "";
form.val8.value = "";
}
}
</SCRIPT>
<FORM METHOD="POST">
<INPUT TYPE="checkbox" NAME="r" VALUE="1" onclick="check1(this)">チェック1<BR>
<INPUT NAME="data1[1]" SIZE="1">
<INPUT NAME="data1[2]" SIZE="1">
<INPUT NAME="data1[3]" SIZE="1">
<INPUT NAME="data1[4]" SIZE="1"><br>
<INPUT TYPE="checkbox" NAME="r" VALUE="1" onclick="check2(this)">チェック2<BR>
<INPUT NAME="val5" SIZE="1">
<INPUT NAME="val6" SIZE="1">
<INPUT NAME="val7" SIZE="1">
<INPUT NAME="val8" SIZE="1">
</FORM>
No.2ベストアンサー
- 回答日時:
ソース拝見しました。
テーブルなんですね?tdをdivでくくるのは文法違反なのでNGです。
テーブルは行ごとにTRで括られているのでそれを使いましょう。
要件としては同じ行の自分より後ろのテキストボックスに
値をいれるなら以下のようにできます。
またバリデータの絡みもあるかもしれないのでとりあえずcheckxとしておきます。
(適当に工夫して名前付けしてください)
<script>
function checkx(radio){
var f=radio.form;
var tr=getParentNode(radio,'TR');
var td=getParentNode(radio,'TD');
for(var i=0;i<f.length;i++){
if(f[i].type=="text" && getParentNode(f[i],'TR')==tr && td.cellIndex < getParentNode(f[i],'TD').cellIndex) f[i].value=radio.checked?radio.value:"";
}
}
function getParentNode(obj,nodename){
var n=obj.parentNode;
while(n){
if(n.nodeName==nodename) return n;
n=n.parentNode;
}
return null;
}
</script>
No.1
- 回答日時:
配置的にちかいところにあるなら、divなどまとめてしまうとよいでしょう
<script>
function check(radio){
var f=radio.form;
for(var i=0;i<f.length;i++){
if(f[i].type=="text" && f[i].parentNode==radio.parentNode) f[i].value=radio.checked?radio.value:"";
}
}
</script>
<FORM METHOD="POST">
<div>
<INPUT TYPE="checkbox" NAME="r" VALUE="1" onclick="check(this)">チェック1<BR>
<INPUT NAME="data1[1]" SIZE="1">
<INPUT NAME="data1[2]" SIZE="1">
<INPUT NAME="data1[3]" SIZE="1">
<INPUT NAME="data1[4]" SIZE="1"><br>
</div>
<div>
<INPUT TYPE="checkbox" NAME="r" VALUE="1" onclick="check(this)">チェック2<BR>
<INPUT NAME="val5" SIZE="1">
<INPUT NAME="val6" SIZE="1">
<INPUT NAME="val7" SIZE="1">
<INPUT NAME="val8" SIZE="1">
</div>
</FORM>
この回答への補足
ありがとうございます。
まさにこのとおりの動きです。
しかし、実サイトに導入するするとうまく動きません。
同時にバリデーションも行なっているせいでしょうか。
http://roba33.com/check/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP $_SESSIONについて教えて下さい。 2 2023/03/02 09:18
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラジオボタンのチェックが外れ...
-
JavaScriptでラジオボタンのチ...
-
JavaScript ラジオボタン デ...
-
ラジオボタンにタブインデック...
-
javascriptによる動的なリンク...
-
フォームPOST後「戻る」時のチ...
-
javascript作成してます。ラジ...
-
ラジオボタンのチェック数に応...
-
任意のinput要素同士の連動につ...
-
ラジオボタンとif文
-
【診断テストの作り方】結果に...
-
プルダウン 項目が多いので先頭...
-
<input>の選択肢をプルダウンメ...
-
TextBoxに半角数字以外を入れた...
-
【jQuery】input nameの文字列...
-
value内に変数を入れたい
-
二つの入力欄に、同時に同じ文...
-
return trueとreturn falseの用...
-
チェックボックスのON/OFFでVal...
-
JavaScriptにて動的に配列を作...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
ラジオボタンのチェックが外れ...
-
javascript作成してます。ラジ...
-
ラジオボタンでチェックした項...
-
ラジオボタンの値でリンク先を...
-
データベースの値を判断してラ...
-
Form内のselectを連動させるに...
-
フォームPOST後「戻る」時のチ...
-
【診断テストの作り方】結果に...
-
チェックボックスとテキストボ...
-
複数のラジオボタンでの選択で...
-
ラジオボタンのValueを受け取り...
-
チェックされたラジオボタンに...
-
ラジオボタンのリセット方法
-
チェックボックスのON/OFFに連...
-
JavaScript ラジオボタン デ...
-
jQueryで複数のラジオボタンを処理
-
ラジオボタンで診断テストを作...
-
ラジオボタンによる有効なボタ...
-
【javascript】firefoxでの、al...
おすすめ情報