Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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 &引用;对象HTMLTextAreaElement“;与表单上的输出一起出现_Javascript_Html - Fatal编程技术网

Javascript &引用;对象HTMLTextAreaElement“;与表单上的输出一起出现

Javascript &引用;对象HTMLTextAreaElement“;与表单上的输出一起出现,javascript,html,Javascript,Html,我正在开发一个表单,在其中我添加了第二个输出字段,在第二个字段中,它有一个不同的格式,我在代码中放置了一个示例。现在我已经让它部分工作了,但是出现了两个问题 首先,它在输出字段中首先返回[object HTMLTextAreaElement]响应,然后放置我想要的输出。我不明白为什么它总是先添加[object HTMLTextAreaElement] 第二,我第一次使用表单时,除了[object HTMLTextAreaElement],它确实有效。然而,当我使用我的“重置”按钮时,它实际上似乎

我正在开发一个表单,在其中我添加了第二个输出字段,在第二个字段中,它有一个不同的格式,我在代码中放置了一个示例。现在我已经让它部分工作了,但是出现了两个问题

  • 首先,它在输出字段中首先返回[object HTMLTextAreaElement]响应,然后放置我想要的输出。我不明白为什么它总是先添加[object HTMLTextAreaElement]

  • 第二,我第一次使用表单时,除了[object HTMLTextAreaElement],它确实有效。然而,当我使用我的“重置”按钮时,它实际上似乎并没有“清除”第一个字段的输出,因为尽管重置了,它似乎还记得上一次输入的任何内容。我确实需要第二个输出字段按照其编码执行,除非在重置之前不返回输入的信息。我希望这是有道理的

  • 最后,是否有某种方法可以让一个按钮将结果输出到两个输出框?如果我必须使用两个按钮,这并不是世界末日,但是如果我能把它们组合成一个,那就太好了。因为我现在已经设置好了,所以我知道我让它先从第一个输出抓取输入的文本,然后再转换到第二个输出。所以,也许这不是一个超级简单的解决方案

  • 另外,请不要使用JQuery修复程序,只使用javascript和HTML。我希望所有代码都在一页上。求求你,有人来帮忙,我已经被困在这个问题上好几个小时了,我试图修复它的任何东西都没有用

    这是我的HTML

    <table width="100%" height="700" border=0>
    <tr>
        <td width=550 valign=top>
    
    <form name="Form1" onsubmit="return false;" action="">
               Name:
            <br>
    <input type="text" name="Name" id="name" placeholder="Name"><br>
                Number:
            <br>
    <input type="text" name="Number" id="number" placeholder="Number"><br>
                Question:
            <br>   
    <input type="text" name="Question1" id="questionOne" placeholder="Answer">
            <br>
                Question:
            <br>
    <select type="drop" name="Question2" id="questionTwo">
        <option value="Select Yes or No">...</option>
        <option value="Yes">Yes</option>
        <option value="No">No</option>
    </select><br>
                Enter some text?
            <br>
    <textarea type="textarea" name="Sometext" id="someText" placeholder="Type 
    something" 
    cols="70"  rows="3"></textarea><br>
    
               Question:
            <br>
    
    <select type="drop" name="Question3" id="questionThree">
        <option value="Select Yes or No">...</option>
        <option value="Yes">Yes</option>
        <option value="No">No</option></select>
    
    
            <br>
               Question:
               <br>
    
        <select type="drop" name="Question4" id="questionFour">
        <option value="Select Yes or No">...</option>
        <option value="Yes">Yes</option>
        <option value="No">No</option></select>
          <br>
    
            Enter more text:<br>
    <textarea type="textarea" name="Story" id="story" placeholder="Type me a 
    story" 
    cols="70"  rows="10"></textarea>
    <br>
    
        </td>
        <td valign="top">
    
                <table border=0 height=100% ><tr><td valign="top" height=410>
    
    <textarea type="textarea" name="output" onclick="this.focus();this.select()" 
    id="output" cols="70" rows="25" placeholder="Name:
    Number:
    Answer:
    Answer:&#x0a;
    Some text:&#x0a;
    Answer:&#x0a;
    Answer:&#x0a
    A little story:"></textarea>
    <br>
    
                </td>
            </tr>
            <tr>
                <td valign=top>
    
    <div class="btn-group">
        <button value="Combine" onclick="convert()" id="combine1">
            Combine
        </button><br><br>
    </div>
    
    
    
    
            <textarea type="textarea" id="secondOutput" name="output" 
    onclick="this.focus();this.select()" cols="70" rows="15" placeholder="Three
    Lines
    Down
    Name:
    Number:
    Answer:
    Answer:
    Some text:
    Answer:
    Answer:
    A little story:"></textarea>
    
    
        <div class="btn-group">
        <button value="Combine" onclick="NoteStart()" id="combine1">
            Second copy
        </button><br><br>
    </div>
    
                </td>
            </tr>
            <tr>
                <td align="right">
    
                        <table width=25% height=100% border=0>
                            <tr>
                                <td valign="bottom">
    
    <div class="btn-group">
        <button type="reset" value="Reset form">
            Reset form
        </button> <br><br>
    </div>
    
    </form></div>
    
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>
        </td>
      </tr>
    </table>
    
    
    姓名:
    

    编号:

    问题:

    问题:
    ... 对 不
    输入一些文本?

    问题:
    ... 对 不
    问题:
    ... 对 不
    输入更多文本:


    结合

    第二份

    重置表单

    是的,我知道,桌子,对不起

    剧本呢

    <script>
    function wordwrap(str, width, brk, cut) {
    brk = brk || '\n';
    width = width || 60;
    cut = cut || false;
    
    if (!str)
    return str;
    
    var regex = '.{1,' +width+ '}(\\s|$)' + (cut ? '|.{' +width+ '}|.+$' : 
    '|\\S+?(\\s|$)');
    return str.match( RegExp(regex, 'g') ).join(brk);
    }
    
    
    
    function convert() {
    var name = document.getElementById("name").value;
    var number = document.getElementById("number").value;
    var questionOne = document.getElementById("questionOne").value;
    var questionTwo = document.getElementById("questionTwo").value;
    var someText = document.getElementById("someText").value;
    var questionThree = document.getElementById("questionThree").value;
    var questionFour = document.getElementById("questionFour").value;    
    var story = document.getElementById("story").value;
    
    
    var output = "";
    output += "Name: " + name + "\n";
    output += "Number: " + number + "\n";
    output += "Answer: " + questionOne + "\n";
    output += "Answer: " + questionTwo + "\n\n";
    output += "Some text: " + someText + "\n\n";
    output += "Answer: " + questionThree + "\n\n";
    output += "Answer: " + questionFour + "\n\n";
    output += "A little story: " + story + "";
    
    
    document.getElementById("output").value = output;
    }  
    
    </script>
    
    <script>
    
    function NoteStart() {
    var input = document.getElementById("output").value;
    input = input.replace(/\r/g, '').replace(/\n\n+/g, '\n');
    input = wordwrap(input, 60, '\n', true);
    
    var data = input.replace(/[ \n\t\r]+$/g, '').split(/\n+/);
    
    var StartNS = "";
    
    for (var i=0; i<data.length; i++) {
        if (i%10==0) {
            if (i>0)
                output += "\n";
    
            output += "Three\nLines\nDown\n";
        }
    
        output += data[i]+"\n";
    }
    
    output += (data.length%10>0) ? "\n\n" : "\n";
    
    document.getElementById("secondOutput").value = output;
    }
    </script>
    
    
    函数换行字(str、width、brk、cut){
    brk=brk | |'\n';
    宽度=宽度| | 60;
    切割=切割| |假;
    如果(!str)
    返回str;
    var regex='.{1',+width+'}(\\s |$)'+(cut?'.{'+width+'}.+$):
    “|\\S+?(\\S |$)”;
    返回str.match(RegExp(regex,'g')).join(brk);
    }
    函数转换(){
    var name=document.getElementById(“name”).value;
    var number=document.getElementById(“number”).value;
    var questionOne=document.getElementById(“questionOne”).value;
    var questionTwo=document.getElementById(“questionTwo”).value;
    var someText=document.getElementById(“someText”).value;
    var questionThree=document.getElementById(“questionThree”).value;
    var questionFour=document.getElementById(“questionFour”).value;
    var story=document.getElementById(“story”).value;
    var输出=”;
    输出+=“名称:”+Name+“\n”;
    输出+=“编号:”+Number+“\n”;
    输出+=“回答:”+questionOne+“\n”;
    输出+=“回答:”+questionTwo+“\n\n”;
    输出+=“某些文本:”+someText+“\n\n”;
    输出+=“回答:”+questionThree+“\n\n”;
    输出+=“回答:”+questionFour+“\n\n”;
    输出+=“一个小故事:“+story+”;
    document.getElementById(“输出”).value=output;
    }  
    函数NoteStart(){
    var输入=document.getElementById(“输出”).value;
    input=input.replace(/\r/g',).replace(/\n\n+/g',\n');
    输入=wordwrap(输入,60,'\n',真);
    var data=input.replace(/[\n\t\r]+$/g',).split(/\n+/);
    var StartNS=“”;
    对于(var i=0;i0)
    输出+=“\n”;
    输出+=“三条线\n向下\n”;
    }
    输出+=数据[i]+“\n”;
    }
    输出+=(数据长度%10>0)?“\n\n”:“\n”;
    document.getElementById(“secondOutput”).value=输出;
    }
    

    正如我所说的,我已经尝试自己解决这个问题有一段时间了,但我在这里遇到了困难。谢谢你的帮助。在这里,我在这里做了一个jsfiddle,这样任何人都可以在您的
    函数NoteStart()
    put
    var output=“”)中看到什么是有效的

    在此声明之前引用的
    output
    变量是
    output
    全局对象,它包含
    的HtmleElement对象,这就是为什么在循环中执行
    output+=//stuff
    时会得到
    [object HTMLTextAreaElement]
    导致问题的原因

    希望有帮助

    更新:


    哇!我不敢相信事情这么简单,我真的很感谢你的帮助和解释。我还在学习这些东西。我很自豪自己能解决一些问题。但我完全承认,我自己并没有意识到这个答案。再次感谢你,伙计!最烦人的问题是最简单的问题,因为它们是最容易被忽视的问题。但这个社区在这里非常棒,而且非常有帮助。:)
    function NoteStart() {
       var output = "";
    
       // stuff
    }