• 締切済み

checkboxを「変更不可」にできませんか?

leaz024の回答

  • leaz024
  • ベストアンサー率75% (398/526)
回答No.2

JavaScriptを使えば、   <INPUT type="checkbox" name="xx" value="ooo" checked onClick="this.checked=true"> とすることで、常にチェックが付きます。 disabled は有効でないブラウザ(NN4など)もあり、また有効なブラウザでは値が送信されなくなるようですので、お勧めしません。 なので、 ・チェックボックスは見せかけ程度に JavaScript で細工 ・チェックボックスの name にはダミー値を指定 ・本来送信すべき name と value は、hidden で指定 としてはどうでしょうか。

enzo_5150
質問者

お礼

回答ありがとうございます。 イントラのシステムで使用するのでブラウザもIEに固定していますので、 簡単なDISABLE属性を使ってました。 JavaScriptも多少は使用しているのですが、この部分に関しては 受側のプログラムで調整することにしました。 またアドバイスお願いします。

関連するQ&A

  • checkboxのグループ選択

    住所を選択するという画面を作っているのですが、 市町村名と大字名が表示されていて、全てにチェックボックスがあります。 そこで、市町村のチェックボックスを選択すると配下の大字全てにチェックが入るようにしたいです。 チェックボックスのnameを二次元配列にて構築しているのですが、「nullかオブジェクトがありません」というエラーが出てしまいます。 以下はjavascript分のみ抜粋しています。 function 関数名(引数a:市町村コード) { flag = document.form1.name[a][0].checked; for(var i=0;i<document.form1.name[a].length;i++){ document.form1.name[a][i].checked = flag; } } nameはチェックボックスのnameです。 どなたかご教授下さい。

  • <input type="checkbox" checked> のチェックをはずさせないには?

    <input type="chekbox" checked> checkedで規定値でチェックをつけておくのですが、 そのチェックをはずさせたくありません。 disabled をつければよいような気がしますが、 IE4以上でしか有効でなかった気がします。 IE3.02でも動作する作りにしたいのです。 チェックボックスをクリックした時に、 クリックを無効にする方法か、 クリックしてチェックがはずれても またつけるようにする方法を教えて下さい。 Windows2000 IE3.02以上 使用言語 VBSCRIPT

    • ベストアンサー
    • HTML
  • checkboxの表示される値を取得、変更する方法

    例えば、 <input name="area" type="checkbox" value="tokyo">東京</input> と書いてある場合、valueの値を取得する方法はわかるのですが、 実際にブラウザに表示される「東京」という値を javascriptで取得する方法はあるのでしょうか。 また、jQueryのhtml()などを使って、 表示される「東京」を「北海道」などを書き換える方法はありますか。 チェックボックスのON/OFFで、 表示される値を変更したいのです。 ご教授お願いします。

  • checkbox ループ

    下記のスクリプトだと、 デバックが16になってしまいます。 これをどうにかして、 AをチェックしたらA内だけをループ、 BをチェックしたらB内だけをループさせたいんですが、 どこをどのように修正すればいいですか?? スクリプトをかなり変えるのは避けたいです。。 教えてください。。 <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <TITLE></TITLE> <SCRIPT language="JavaScript"> function check(n){ document.getElementById('debug').innerHTML = "デバッグ情報"; document.getElementById('debug').innerHTML = document.getElementById('debug').innerHTML + "<br>lengthは" + document.form1.length; for(i=1; i<=document.form1.length; i++){ if(document.form1.elements["ch" + n].checked){ document.form1.elements["ch" + n + "-" + i].checked = true; document.form1.elements["ch" + n + "-" + i].disabled = true; }else{ document.form1.elements["ch" + n + "-" + i].checked = false; document.form1.elements["ch" + n + "-" + i].disabled = false; } } } </SCRIPT> </HEAD> <BODY> 全てのチェックボックスをチェック/解除 <FORM name="form1"> <p><INPUT type="checkbox" id="ch1" onclick="check(1)">チェックA</p> <INPUT type="checkbox" id="ch1-1">チェック1 <INPUT type="checkbox" id="ch1-2">チェック2 <INPUT type="checkbox" id="ch1-3">チェック3<BR><BR> <INPUT type="checkbox" id="ch1-4">チェック4 <INPUT type="checkbox" id="ch1-5">チェック5 <INPUT type="checkbox" id="ch1-6">チェック6<BR><BR> <BR> <p><INPUT type="checkbox" id="ch2" onclick="check(2)">チェックB</p> <INPUT type="checkbox" id="ch2-1">チェック1 <INPUT type="checkbox" id="ch2-2">チェック2 <INPUT type="checkbox" id="ch2-3">チェック3 <INPUT type="checkbox" id="ch2-4">チェック4<BR><BR> <INPUT type="checkbox" id="ch2-5">チェック5 <INPUT type="checkbox" id="ch2-6">チェック6 <INPUT type="checkbox" id="ch2-7">チェック7 <INPUT type="checkbox" id="ch2-8">チェック8<BR><BR> <BR> </FORM> <p id="debug"></p> </BODY> </HTML>

  • CheckBoxのサイズ変更

    Visual Basicの超初心者です。 先日、wordでチェックボックスを使って書類の作成をしました。 出来上がって、「チェックボックスが小さいから大きくして」 と言われましたが、どう検索してもやり方がわかりません。 なお、チェックボックスは、wordの 表示→ツールバー→ツールコントロールボックス にて作成しております。(レ点タイプのチェックボックスです。) 大きくしたいのは、文字でなく□のチェックボックスそのものです。 ダブルクリックでVisual Basicがたちあがり、 きっとここで設定するんだろうと思い、色々調べてみましたが width、heightを設定したりするのかな? という程度までしかわかりません。 どなたか、何を入力したらサイズ変更ができるのか 教えてくださいませんでしょうか? よろしくお願いいたします。

  • プルダウン形式リストボックス(コンボボックス)の値を変更したい

    こんにちは! 教えて下さい。 チェックボックスとコンボボックスがあります。 コンボボックスの一つ目の値は(any)、二つ目以降はDATAです。 デフォルトでは、「チェック無し、コンボボックスの値(any)、コンボボックスは使用不可」にしています。 チェックボックスをチェックするとコンボボックスを使用出来、コンボボックスの値をあるDATAにしたとします。 ここで問題なのですが、この地点でチェックボックスを外した時、コンボボックス の値を(any)と表示させたいのです。(コンボボックスも使用不可) コンボボックスの表示されている値を任意に変えれるのでしょうか? 初心者なもので、すごく簡単な質問だったらお許し下さい。

  • DataGridViewで再表示すると変更不可にならない

    Visual Basic 2008 にて開発していますがDataGridViewについて質問させて下さい。 DataGridViewのデータ表示は、検索結果をDataTableに格納し、 そのDataTableをDataSourceに設定する方法で行っています。 DataGridView内にはチェックボックスがあり、 そのチェックボックスは条件によってReadOnly = Trueにて変更不可にして表示しています。 最初の表示は問題なく条件に合えば ReadOnly = Trueにて変更不可になり表示してくれますが、 再表示(DataTableをDataSourceに再代入)すると条件に合っているのにReadOnly = Trueが効かず、 チェックボックスが変更可能となって表示してしまいます。 ReadOnly=True にする方法は、DataGridView の件数を取得し、 jjCnt = 0 Do Until jjCnt >= ggCnt   If DataGridView1.Rows(jjCnt).Cells(88).Value.ToString() = "1" Then DataGridView1.Rows(jjCnt).Cells(0).ReadOnly = True End If jjCnt = jjCnt + 1 Loop で行っています。 何故、再表示だと変更不可にならないのか解らずご教授願いたく宜しくお願い致します。

  • INPUT TYPE=""submit"" の disabled をJavascriptで操作したい

    ご教授、お願いします。 <!-- function Kyoka(){ if(document.form02.ch_on.checked) { alert (""); document.form02.ilai2.disabled = false; } else { document.form02.ilai2.disabled = true } { // --> とスクリプトを記述し <TD><INPUT TYPE="checkbox" NAME="ch_on" VALUE="" onclick="Kyoka()"></TD>" <TD><FONT COLOR=green><INPUT TYPE="submit" name="irai2" VALUE="依頼" onClick="javascript:location.reload()"></TD>" と、body内に記述しています。 このとき、チェックボックスにチェックを入れると、アラートは表示されますが、その後でエラー(IEの右下のバーに「!」が表示)になります。 数時間悩みましたが、わかりません。 どなたかご教授頂けませんでしょうか? よろしくお願いします。 また、submitボタンのon/offをjavascriptを使わずに行う方法が、あるのでしょうか? もしあれば教えて頂ければ、幸いです。

  • checkboxにcheckedされない

    こちらで初めて質問させていただきます。 JAVASCRIPTにて、ONLOAD時に フォーム内のチェックボックスをデフォルトでONにする処理を 書いているのですが IE以外の環境で動作せず困っています。 ↓処理を行っているfunction function onload(all,tiku) { for(i = 1; i <= 47; i++){ mad=eval('document.form.m_mpref_'+formatNum(2,i)); if (all.indexOf(mad.value,0)>=0) { mad.checked = true; } } for(i = 1; i <= 10; i++){ mad=eval('document.form.m_tiku_'+formatNum(2,i)); if (tiku.indexOf(mad.value,0)>=0) { mad.checked = true; } } } function formatNum(keta, num) { var src = new String(num); var cnt = keta - src.length; if (cnt <= 0) return src; var str = new String; while (cnt-- > 0) str += "0"; return (str + src); } ↓呼び出し元 <body onload="onload('01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,19,20,16,17,18,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47','');"> フォーム内には 以下のようなINPUTが47あります <input type="checkbox" name="m_mpref_01" value="01" /> (つまりチェックボックス付きの都道府県が47あり、 その全てをONLOAD時にallにある番号の県をチェック状態にさせたいのです) IE環境では正常に動作するのですが FIREFOX NETSCAPE MACのIE で確認すると、ONLOAD時デフォルトでチェックが入っていないままの状態です。 これがなぜなのか全く分らないのです。 どなたか見当の付く方宜しければ教示下さい。

  • 複数のチェックボックスの値を書き込む方法

    複数行のチェックボックスの値をそのまま 書き込みたいのですが・・・ .datファイル↓ 1234,1 5678,0  3456,1 7890,0 上記をHTMLとして出力。 1→checkedで出力されるとします。 チェックを入れて、 7890,0 ↓ 7890,1 にするとそれを1行として保存されるようにしたい です。 チェックボックスは同じ名前のためform('check') などで値を取り出したとしても最後の値しか 値を取り出せないでしょう。 画面に複数出た行を全部.datファイルに書き込むには どうすればよいのでしょうか? http://www.futomi.com/lecture/form/cgi-pm.html ↑を参照しましたが、チェックの値は@配列で 取れるような気がしましたが、1行を書き込む 方法がわからないので詳しく教えていただければ 幸いです。 言葉だけよりソースがあるとわかりやすいですm(__)m

    • ベストアンサー
    • Perl