我正在尝试实现一个
的功能non2
,请在text2
textarea2
pos2
,则在text2
打印textarea1
。此处我想要的是当我按pos2
然后将text2
textarea1
打印,而text2
中的textarea2
将被删除。相反,如果我先点击pos2
然后点击non2
,则只在text2
中打印textarea2
。
我正在考虑使用if-else语句来查看是否点击了POS或NON之一。这就是我最终的结果:
<?php
for ($j = 1; $j <= 3; $j++) {
echo '
<div id="part'. $j .'" >
<div id="teks'.$j.'">TEXT 2 </div>
<input type="radio" id="pos'. $j .'" name="teks'.$j.'" value="POS" onclick="addPOS(this.previousElementSibling.innerHTML);">POS2</input>
<input type="radio" id="non'. $j .'" name="teks'.$j.'" value="NON" onclick="addNON(this.previousElementSibling.previousElementSibling.innerHTML);">NON2</input>
<input type="radio" id="neg'. $j .'" name="teks'.$j.'" value="NEG" checked="checked" onclick="delPOS(document.getElementById(\'teks'.$j.'\').innerHTML); delNON(document.getElementById(\'teks'.$j.'\').innerHTML);">NEG2</input>
</div>
';
}
?>
<script type="text/javascript">
function delPOS(elem)
{
var txt = document.getElementById("posbox").value;
if (txt.length>elem.length){
document.getElementById("posbox").value = txt.substr(0,txt.length-elem.length-1);
}else{
document.getElementById("posbox").value="";
}
}
function delNON(elem)
{
var txt = document.getElementById("nonbox").value;
if (txt.length>elem.length){
document.getElementById("nonbox").value = txt.substr(0,txt.length-elem.length-1);
}else{
document.getElementById("nonbox").value="";
}
}
function delNEG(elem)
{
var txt = document.getElementById("negbox").value;
if (txt.length>elem.length){
document.getElementById("negbox").value = txt.substr(0,txt.length-elem.length-1);
}else{
document.getElementById("negbox").value="";
}
}
function addPOS(elem)
{
document.getElementById("posbox").value+=elem;
}
function addNON(elem)
{
document.getElementById("nonbox").value+=elem;
}
function addNEG(elem)
{
document.getElementById("negbox").value+=elem;
}
</script>
<div id="box" >
<textarea style="width:420px" name="posbox" id="posbox" rows="4" cols="70"></textarea>
<textarea style="width:420px" name="nonbox" id="nonbox" rows="4" cols="70"></textarea>
<textarea style="width:420px" name="negbox" id="negbox" rows="4" cols="70"></textarea>
</div>
然而,这不起作用。我做错了什么,我该如何解决?
答案 0 :(得分:0)
让它变得更简单。假设无线电“名称”与您从中获取内容的divs id相同:
...
<div id="teks'.$j.'">TEXT 2 </div>
<input type="radio" id="pos'. $j .'" name="teks'.$j.'" value="POS"
onclick="addPOS(this);">POS2</input>
<input type="radio" id="non'. $j .'" name="teks'.$j.'" value="NON"
onclick="addNON(this);">NON2</input>
...
你可以这样做:
function addPOS(elem)
{
document.getElementById("posbox").value+=document.getElementById(elem.name).innerHTML;
}
答案 1 :(得分:0)
你这太复杂了,你所要做的就是创造一个功能,例如Print()
在你定义的地方看起来像这样:
function Print(what,textareaobj)
{
textareaobj.value=what
}
然后在你正在调用的文件中有一个变量集 例如
var what = "The text";
并为按钮添加属性onclick =“Print(what,getElementById('idoftextarea')”例如:
<button onclick="Print(what,getElementById('idoftextarea')">Click</button>