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

Some text:

Answer:

Answer:

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()
putvar output=“”)中看到什么是有效的代码>
在此声明之前引用的output
变量是output
全局对象,它包含
的HtmleElement对象,这就是为什么在循环中执行output+=//stuff
时会得到[object HTMLTextAreaElement]
导致问题的原因
希望有帮助
更新:
哇!我不敢相信事情这么简单,我真的很感谢你的帮助和解释。我还在学习这些东西。我很自豪自己能解决一些问题。但我完全承认,我自己并没有意识到这个答案。再次感谢你,伙计!最烦人的问题是最简单的问题,因为它们是最容易被忽视的问题。但这个社区在这里非常棒,而且非常有帮助。:)
function NoteStart() {
var output = "";
// stuff
}