テキストエリアの入力値からチェックボックスのON・OFF切り替え
テキストエリアからフォーカスが外れた際、テキストエリアに入力された文字があればチェックボックスをONに、何もない場合はOFFにしたいです。
<HTML>
<BODY>
<SCRIPT language="javascript">
<!--
function Check(AAA,BBB)
{
var cTxt;
cTxt = "txt" + AAA;
item_txt = eval('document.form1.' + cTxt + '.value');
item_txt2 = item_txt.replace(/ /g,"");
item_txt2 = item_txt2.replace(/ /g,"");
if (!item_txt2){
alert("チェックを外す");
} else {
alert("チェックを付ける");
}
}
//-->
</SCRIPT>
<FORM name="form1">
<TABLE>
<TR>
<TD><TEXTAREA name="txt029" rows="2" cols="20" onblur="Check('029','1')"></TEXTAREA></TD>
<TD><INPUT type="checkbox" name="chk[]" value="029"></TD>
</TR>
<TR>
<TD><TEXTAREA name="txt121" rows="2" cols="20" onblur="Check('121','2')"></TEXTAREA></TD>
<TD><INPUT type="checkbox" name="chk[]" value="121"></TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
<TR>~</TR>はPHPで書き出しをしており、行数は都度変化します(1行~20行)。
1つの<TR>~</TR>で、TEXTAREAのname下3桁・Checkの1つ目の引数・checkboxのvalueは全て同じ値が入ります(値は変化)。
Checkの2つ目の引数は書き出した順に0から振るようにしています。
この記述だと2つ目の引数は活用できてないのですが…使い道があるかと思って書いてはいるのですが結局わからなくてそのままになってます。
色々考えてはみたのですが、どのように対応するチェックボックスを指定していいのかがわかりません。
是非ご教授いただきたいです。
お礼
回答ありがとうございます。改行コードをカウントする方法だと、 テキストエリアの横幅を超えて折り返した場合に改行と認識出来ない点が問題です。 『wrap="hard"』を使えば送信後に折返し部分が改行になるみたいですが、 送信前にチェックしたい事なので使えないです。 何か良いアイデアがありましたら宜しくお願いします。