• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テキストエリアの入力値からチェックボックスのON・OFF切り替え)

テキストエリアの入力値からチェックボックスのON・OFF切り替え

このQ&Aのポイント
  • テキストエリアからフォーカスが外れた際、入力された文字有無でチェックボックスのON・OFFを切り替える方法を教えてください。
  • JavaScriptを使用して、テキストエリアの値が存在する場合はチェックボックスをONに、存在しない場合はOFFにする方法を教えてください。
  • テキストエリアの入力状態に応じてチェックボックスのON・OFFを切り替える方法について教えてください。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

valueで持っているデータとnameの一部が同じ というのはずいぶん乱暴なきがします。 結局フォームに属するデータをなめて、 valueの値とマッチさせるしかないでしょう。 具体的にはこんな感じじゃないですかね? <HTML> <BODY> <SCRIPT language="javascript"> function Check(f){ for (var i=0;i<f.form.length;i++){ if(f.form.elements[i].value==f.name.substring(3,6)){ f.form.elements[i].checked=(f.value!=""); } } } </SCRIPT> <FORM name="form1"> <TABLE> <TR> <TD><TEXTAREA name="txt029" rows="2" cols="20" onblur="Check(this)"></TEXTAREA></TD> <TD><INPUT type="checkbox" name="chk[]" value="029"></TD> </TR> <TR> <TD><TEXTAREA name="txt121" rows="2" cols="20" onblur="Check(this)"></TEXTAREA></TD> <TD><INPUT type="checkbox" name="chk[]" value="121"></TD> </TR> </TABLE> </FORM> </BODY> </HTML>

natsu333
質問者

お礼

出来ました!最終的には以下のようにしました。 <HTML> <BODY> <SCRIPT language="javascript"> <!-- function Check(f,Emp) { for (var i=0;i<f.form.length;i++){ if(f.form.elements[i].value==Emp){ item_txt=f.value; item_txt2=item_txt.replace(/ /g,""); item_txt2=item_txt2.replace(/ /g,""); f.form.elements[i].checked=(item_txt2!=""); break; } } } //--> </SCRIPT> <FORM name="form1"> <TABLE> <TR> <TD><TEXTAREA name="txt029" rows="2" cols="20" onblur="Check(this,'029')"></TEXTAREA></TD> <TD><INPUT type="checkbox" name="chk[]" value="029"></TD> </TR> <TR> <TD><TEXTAREA name="txt121" rows="2" cols="20" onblur="Check(this,'121')"></TEXTAREA></TD> <TD><INPUT type="checkbox" name="chk[]" value="121"></TD> </TR> </TABLE> </FORM> </BODY> </HTML> >valueで持っているデータとnameの一部が同じ >というのはずいぶん乱暴なきがします。 うーん…作成時にも悩んだのですがいい解決方法が見つからずにこんな書き方になってしまってます。PHP側で不都合があったのですが、こちらももっと勉強していい方法を見つけたいと思ってます。 この度はどうもありがとうございました! JavaScriptは全くの初心者なので本当に助かりました。もしまたご縁があった際はお願いします^^;

関連するQ&A

専門家に質問してみよう