プロが教えるわが家の防犯対策術!

以下のスクリプトはテキストエリアに何も無い状態で、チェックボックスを選択するとテキストエリアにvalue値が入りますが、

<input type="checkbox" onclick="connecttext('select',this.checked,this.value);" value="熊本県">熊本県
<input type="checkbox" onclick="connecttext('select',this.checked,this.value);" value="鹿児島県">鹿児島県
<input type="checkbox" onclick="connecttext('select',this.checked,this.value);" value="沖縄県">沖縄県
<br>
<textarea name="name" id="select" rows="6" cols="60"></textarea><br>
<script type="text/javascript">
function connecttext( textid, ischecked, str) {
if( ischecked == true ) {
document.getElementById(textid).value += str;
}
else {
var textareaStr = document.getElementById(textid).value;
textareaStr = textareaStr.replace(new RegExp(str, "g"), "");
document.getElementById(textid).value = textareaStr;
}
}
</script>
==================================================
テキストエリアに熊本県があらかじめ入っている場合、
(CGIで内容を更新したあとで呼び出した)
熊本県のチェックボックスに自動的にチェックが入った状態にはならないでしょうか?

<input type="checkbox" onclick="connecttext('select',this.checked,this.value);" value="熊本県">熊本県
<input type="checkbox" onclick="connecttext('select',this.checked,this.value);" value="鹿児島県">鹿児島県
<input type="checkbox" onclick="connecttext('select',this.checked,this.value);" value="沖縄県">沖縄県
<br>
<textarea name="name" id="select" rows="6" cols="60">熊本県</textarea><br>
<script type="text/javascript">
function connecttext( textid, ischecked, str) {
if( ischecked == true ) {
document.getElementById(textid).value += str;
}
else {
var textareaStr = document.getElementById(textid).value;
textareaStr = textareaStr.replace(new RegExp(str, "g"), "");
document.getElementById(textid).value = textareaStr;
}
}
</script>
ご指南をよろしくお願い致します。

A 回答 (1件)

>(CGIで内容を更新したあとで呼び出した)


>熊本県のチェックボックスに自動的にチェックが入った状態にはならないでしょうか?

CGIで熊本県にチェックを入れた状態で呼び出すのが普通です
どうしてもjavascriptでというと、onload時にtextarea内の該当文字を探して
マッチしたらチェックすることでしょう

<script>
window.onload=function(){
setcheckbox()
}
function setcheckbox()
{
var f=document.getElementById("f");
var v=f.elements["t"].value;
for(var i=0;i<f.length;i++){
if(f[i].type=="checkbox"){
var reg=new RegExp(f[i].value);
if(v.match(reg)){
f[i].checked=true;
}
}
}
}
</script>
<form id="f">
<input name="c[]" type="checkbox" value="熊本県">熊本県
<input name="c[]" type="checkbox" value="鹿児島県">鹿児島県
<input name="c[]" type="checkbox" value="沖縄県">沖縄県
<br>
<textarea name="t" id="t" rows="6" cols="60">沖縄県熊本県</textarea><br>
</form>
    • good
    • 0
この回答へのお礼

javascriptで、すべてうまくいきました。
大変ありがとうございました。

お礼日時:2016/02/10 21:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!