• ベストアンサー

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

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

  • GBSGBS
  • お礼率36% (370/1012)
  • HTML
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.1

IE3.xxでの確認はしてないですが、JavaScriptで以下のようにすれば可能です。 <SCRIPT LANGUAGE="Javascript"> <!-- function checked_true(obj) {   obj.checked = true; } //--> </SCRIPT> <INPUT TYPE="checkbox" NAME="test" CHECKED OnClick="checked_true(test)">チェック済み

GBSGBS
質問者

補足

自分でやってみた結果です。 <INPUT TYPE="checkbox" NAME="test" CHECKED OnClick="return false"> だとIE4,IE5でOK。 <form name="MyF"> <INPUT TYPE="checkbox" NAME="test" CHECKED OnClick="Set_Check()"> </form> <script language="vbscript"> Function Set_check() MyF.test.checked= True End Function </script> とすると、IE3でもクリックしても チェックがはずれないチェックボックスが できました。

関連するQ&A

  • 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時デフォルトでチェックが入っていないままの状態です。 これがなぜなのか全く分らないのです。 どなたか見当の付く方宜しければ教示下さい。

  • 大量のcheckboxにcheckedを入れる

    チェックボックスが50個あります。 送信ボタンを押して元のページを再度開きます。 そのときにチェックしたボックスにチェックを入れた状態にしたいです。 inputタグの中に<?php if(isset($checkbox2) && in_array('b2',$checkbox2)){echo ' checked';} ?>を入れていますが単調になってしまいます。 単調にならずにする方法はありますか? <input type="checkbox" name="chk1[]" value="a1" />の場合はインデックスが固定でないのでできませんでした。 その他いけない箇所があれば教えて下さい。 お願いします。 <?php if(isset($_GET["chk1"])){ $checkbox1 = $_GET["chk1"]; for($i=0; $i<sizeof($checkbox1); $i++){ print $checkbox1[$i]."<br />"; } } if(isset($_GET["chk2"])){ $checkbox2 = $_GET["chk2"]; foreach($checkbox2 as $key => $val){ print $val."<br />"; } } ?> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <form method="get" action="checkbox.php"> <input type="checkbox" name="chk1[]" value="a1" /> <input type="checkbox" name="chk1[]" value="a2" /> <input type="checkbox" name="chk1[]" value="a3" /> <input type="checkbox" name="chk1[]" value="a4" /> <input type="checkbox" name="chk1[]" value="a5" /> <input type="checkbox" name="chk1[]" value="a6" /> <input type="checkbox" name="chk1[]" value="a7" /> <input type="checkbox" name="chk1[]" value="a8" /> <input type="checkbox" name="chk1[]" value="a9" /> <input type="checkbox" name="chk1[]" value="a10" /> <br /> <input type="checkbox" name="chk2['b1']" value="b1" <?php if(isset($checkbox2) && in_array('b1',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b2']" value="b2" <?php if(isset($checkbox2) && in_array('b2',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b3']" value="b3" <?php if(isset($checkbox2) && in_array('b3',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b4']" value="b4" <?php if(isset($checkbox2) && in_array('b4',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b5']" value="b5" <?php if(isset($checkbox2) && in_array('b5',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b6']" value="b6" <?php if(isset($checkbox2) && in_array('b6',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b7']" value="b7" <?php if(isset($checkbox2) && in_array('b7',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b8']" value="b8" <?php if(isset($checkbox2) && in_array('b8',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b9']" value="b9" <?php if(isset($checkbox2) && in_array('b9',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b10']" value="b10" <?php if(isset($checkbox2) && in_array('b10',$checkbox2)){echo ' checked';} ?>/> <br /> <input type="submit" value="送信" /> </form> </body> </html>

    • 締切済み
    • PHP
  • VBScript+IEのチェックボックス判定

    VBScript(wsh)に関する質問です. InternetExplorerのオブジェクトを作成し,ie.Document.Writeで下記のようにチェックボックスを複数配置しました. <INPUT type="checkbox" id="id0">あああ <INPUT type="checkbox" id="id1">いいい 各チェックボックスがチェックされているか判定したいのですが, for文を用いた場合どのようにすればよいのでしょうか? If ie.Document.all.id0.checked Then … If ie.Document.all.id1.checked Then … のように逐次的に記述しては可変数の場合は対応できません. inputタグのidをすべて"id"として <INPUT type="checkbox" id="id">あああ <INPUT type="checkbox" id="id">いいい For i=0 To n If ie.Document.all.id(i).checked Then … で可能なようですが,ラベルをクリックしたときもチェックされるように <INPUT type="checkbox" id="id0"><label for="id0">あああ</label> とする必要があり,同一のidをinputタグに使用できない状況です. よろしくお願いします.

  • 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を使わずに行う方法が、あるのでしょうか? もしあれば教えて頂ければ、幸いです。

  • チェックボックスのチェックについて

    チェックボックスが2つあります。 一つが選択されたらテキストボックスが入力可能にしてあります。 Aを選択すると、Bのチェックが外れる、反対の場合も同じようにしたいのですが、下記のように書きましたがうまくいきません。 解決方法が分かられる方、教えて下さい。 *********************************************** function Change(){ if(document.myForm.chkB.checked ==true{ document.myForm.TxtA.disabled = true; document.myForm.chkA.checked = false; } else { document.myForm.TxtA.disabled = false; document.myForm.chkA.checked = true; } } ***********************************************

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

    <FORM>~</FORM>内でチェックボックスを表示させていますが、 このチェックボックスを「DISABLED」にすると、もちろんチェック自体も できませんが、あらかじめ「CHECKED」になっていても値は"on"になりませんよね? 使用不可ではなく、変更不可(この場合値が"on"のまま変更できない)ように することはできませんでしょうか?お知恵をお貸し下さい!

  • チェックボックスの無効化、有効化

    あるサイトを参考にチェックボックスの無効化、有効化を実装したいと考えています。 ソースは以下の通りなのですが、この場合、name属性にそれぞれ異なる番号(t1、t2、t3やc1、c2、c3)が振られている必要がありますが、 これを同じnameに統一して動作させるには、どのように記述したらよいのか教えて頂けませんでしょうか? nameのtとcを統一したいのではなく、t1、t2、t3を番号抜きのtに統一、c1、c2、c3を番号抜きのcに統一したいと思っています。 <script type="text/javascript"> function fchk2(obj, name) { var frm=obj.form; if(obj.checked==true) { /* チェックボックスが選択されている場合は、 テキストボックスを有効化(false) */ for(var i=1; i<=3; i++){ frm.elements[name+i].disabled=false; } } else { for(var i=1; i<=3; i++){ /* 無効化する前に、入力値をクリア */ if(name=='t'){ /* テキストボックスの場合 */ frm.elements[name+i].value=""; }else{ /* チェックボックスの場合 */ frm.elements[name+i].checked=false; } /* 無効化(true) */ frm.elements[name+i].disabled=true; } } } </script> <form name="form2" action="#"> <label for="chk1"><input type="checkbox" id="chk1" name="chk1" value="1" onclick="fchk2(this,'t')" checked="checked" />テキストボックスの無効化・有効化を切替(チェックを外すと無効化)</label><br /> <input type="text" name="t1" value="テキストA" size="20" /> <input type="text" name="t2" value="テキストB" size="20" /> <input type="text" name="t3" value="テキストC" size="20" /> <hr /> <label for="chk2"><input type="checkbox" id="chk2" name="chk2" value="1" onclick="fchk2(this,'c')" checked="checked" />チェックボックスの無効化・有効化を切替(チェックを外すと無効化)</label><br /> <input type="checkbox" name="c1" value="1" />選択肢A<br /> <input type="checkbox" name="c2" value="1" />選択肢B<br /> <input type="checkbox" name="c3" value="1" />選択肢C </form>

  • ループでチェックボックスにcheckedを入れたい

    昨日質問させて頂きました件は、上手く行きました。ありがとうございました。また、行き詰ってしまったのでよろしくお願いいたします。 $intersectという配列があります。中身はarray(20,22)です。 データベースのテーブルから、fetch_arrayですべてを取り出し、 この値と同じである場合、チェックボックスにチェックを入れたいと考えています。 しかし、最後の値しかチェックボックスにチェックが入りません。どうかよろしくお願いいたします。 ********************************************************** $sql = "SELECT * FROM option_name"; $res = mysql_query($sql, $conn) or die("データ抽出エラー"); while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {  $subject = $row["subject"];//題名  $option_no = $row["opno"];//プランNO foreach ($intersect as $value){  if($value == $option_no){   $checked = "checked";   }else{   $checked = " "; } } $op_subject .= "<input type='checkbox' name='subject[]' value='$option_no' $checked>$option_no$subject<br>"; } print $op_subject;

    • ベストアンサー
    • PHP
  • (jQuery)同じクラス名のオブジェクトを一斉操

    jQueryで同じクラス名のオブジェクトを一斉操作するにはどうしたら良いでしょうか? 【したいこと】 3つのチェックボックスのいずれかにチェックを入れると disabledである「お問合わせ」と「お申込み」ボタンがクリックできるようにしたいです。 1つでもチェックが入っていなければボタンはdisabledにしたいです。 【現状】 3つのチェックボックスの1番上のclass="foo"のみクリックすると動作します。 ▼【 HTML 】 <input type="checkbox" class="foo"> <input type="checkbox" class="foo"> <input type="checkbox" class="foo"> <input type="submit" class="bar" value="お問合わせ"> <input type="submit" class="bar" value="お申込み"> ▼【 jQuery 】 // アクセス時はボタンは無効にする。 $(document).ready(function(){   $('.bar').attr('disabled', true); }); // チェックボックスクリックアクション $('.foo').click(function() {   $('.bar').each(function() {     if($('.foo').prop('checked') == true) {       $('.bar').attr('disabled', false);     } else {       $('.bar').attr('disabled', true);     }   }); }); ご教授の程どうぞ宜しくお願い致しますm(__)m

  • AJAXで生成したHTMLでのチェックボックス一括チェックの方法を教えてください

    現在jqueryを使って、ajaxでチェックボックスを生成して、それに対して一括チェックボタンを付けたいと考えております。 <input name="allcheck" type="checkbox" id="checkall" checked="checked" />全て<br /> <input type="checkbox" name="carrier" value="docomo" checked="checked" />docomo<br /> <input type="checkbox" name="carrier" value="au" checked="checked" />au<br /> <input type="checkbox" name="carrier" value="softbank" checked="checked" />softbank<br /> というチェックボックスがajaxで生成されて function carrier_check() { $('#checkall').click(function(e){ $(':checkbox[type=checkbox][name=carrier]').attr('checked', $('#checkall').attr('checked')); }); } のjavascriptで上記のチェックボックスを一括チェックできるようにしようとしているのですが ajaxを使わずに上記のチェックボックスをHTMLに書いているときは一括チェックできるのですが、ajaxを使用して生成した場合にはチェックボックスの一括チェックができません。 どのようにすれば、ajaxで生成されたチェックボックスを一括チェックできるようになるのでしょうか? ご存知の方がいらっしゃいましたらご教授お願いいたします。

専門家に質問してみよう