前提・実現したいこと
Perlはある程度理解できるのですが、Javascriptはつい最近触り始めたばかりです。
「チェックボックスにチェックが入ると、対応のテキストエリアを非活性にしたい」と考え、
わからないなりに色々調べてみた所、動作自体は達成出来たのですが
Javascriptの記述がデータの数だけ同じ構文を増やす方法しかわかっていない状況です。
拙い内容で大変恐縮ですが、Javascriptをまとめる方法がございましたらご教示頂きたくお願い致します。
Perl側
Perl
1# @cntはその時々のデータ量で変動します 2my $cnt=@cnt; 3 4# html部分 5for(my $i=0; $i<$cnt; $i++){ 6 print "<p><input type=\"checkbox\" id=\"check${i}\"><input type=\"text\" id=\"text${i}\"></p>\n"; 7} 8 9# Javascript部分 10for(my $i=0; $i<$cnt; $i++){ 11 print "document.getElementById(\'check${i}\').onclick = function(){\n"; 12 print "if(check${i}.checked){\n"; 13 print "text${i}.disabled = true\;\n"; 14 print "}\n"; 15 print "else{\n"; 16 print "text${i}.disabled = false\;\n"; 17 print "}\n"; 18}
Javascriptのソースコード
Javascript
1document.getElementById('check1').onclick = function(){ 2 if(check1.checked){ 3 text1.disabled = true; 4 } 5 else{ 6 text1.disabled = false; 7 } 8} 9document.getElementById('check2').onclick = function(){ 10 if(check2.checked){ 11 text2.disabled = true; 12 } 13 else{ 14 text2.disabled = false; 15 } 16} 17// 以下check3用、check4用…とデータの数だけ続いてしまいます
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/25 08:21