Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使选定的功能?_Javascript_Function - Fatal编程技术网

Javascript 如何使选定的功能?

Javascript 如何使选定的功能?,javascript,function,Javascript,Function,我正试图实现这样一个功能 如果我按了non2,然后在text2区域中打印text2 如果我然后按pos2,然后在textarea1中打印text2 这里我想要的是,当我按下pos2时,将在textarea1中的text2中打印,而textarea2中的text2将被删除。相反,如果我先点击pos2并点击non2,然后在textarea2中只打印text2 我正在考虑使用if-else语句来查看是否单击了POS或NON。这就是我的结局: <?php for ($j = 1; $j &

我正试图实现这样一个功能

  • 如果我按了
    non2
    ,然后在
    text2
    区域中打印
    text2
  • 如果我然后按
    pos2
    ,然后在
    textarea1
    中打印
    text2
  • 这里我想要的是,当我按下
    pos2
    时,将在
    textarea1
    中的
    text2
    中打印,而
    textarea2
    中的
    text2
    将被删除。相反,如果我先点击
    pos2
    并点击
    non2
    ,然后在
    textarea2
    中只打印
    text2

    我正在考虑使用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>
    
    
    函数delPOS(elem)
    {
    var txt=document.getElementById(“posbox”).value;
    如果(文本长度>元素长度){
    document.getElementById(“posbox”).value=txt.substr(0,txt.length elem.length-1);
    }否则{
    document.getElementById(“posbox”).value=“”;
    }
    }
    函数delNON(elem)
    {
    var txt=document.getElementById(“非框”).value;
    如果(文本长度>元素长度){
    document.getElementById(“nonbox”).value=txt.substr(0,txt.length elem.length-1);
    }否则{
    document.getElementById(“非框”).value=“”;
    }
    }
    函数delNEG(elem)
    {
    var txt=document.getElementById(“negbox”).value;
    如果(文本长度>元素长度){
    document.getElementById(“negbox”).value=txt.substr(0,txt.length elem.length-1);
    }否则{
    document.getElementById(“negbox”).value=“”;
    }
    }
    函数addPOS(elem)
    {
    document.getElementById(“posbox”).value+=elem;
    }
    函数addNON(elem)
    {
    document.getElementById(“非框”).value+=elem;
    }
    函数addNEG(elem)
    {
    document.getElementById(“negbox”).value+=elem;
    }
    

    然而,这不起作用。我做错了什么?我该如何修复它?

    让它更简单。假设收音机“名称”与从中获取内容的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>
    ...
    

    如果你把它弄得太复杂了,你所要做的就是生成一个函数,例如
    Print()
    在您定义它的地方,看起来是这样的:

    function Print(what,textareaobj)
    { 
      textareaobj.value=what
    }
    
    然后在您调用的文件中设置一个what变量 比如说

    var what = "The text";
    
    对于按钮,添加属性onclick=“Print(what,getElementById('idoftextarea')”,例如:

    点击
    
    我要做的第一件事是修复你的html。你有两对body和html标记。你好@Axel谢谢你的回答。你的回答似乎没有回答我的问题。我没有把问题弄得太复杂。事实上,这是我的情况。谢谢
    var what = "The text";
    
    <button onclick="Print(what,getElementById('idoftextarea')">Click</button>