Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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 - Fatal编程技术网

单击按钮后将值插入文本区域(仅限Javascript)

单击按钮后将值插入文本区域(仅限Javascript),javascript,Javascript,我有一个有两个按钮的文本表单。单击按钮后,我想在表单中添加按钮文本,即HELLO或HELLO2: <button type="button" onclick="addtext('HELLO');">Add HELLO</button> <button type="button" onclick="addtext('HELLO2');">Add HELLO2</button> <textarea id="postText"><te

我有一个有两个按钮的文本表单。单击按钮后,我想在表单中添加按钮文本,即HELLO或HELLO2:

<button type="button" onclick="addtext('HELLO');">Add HELLO</button>
<button type="button" onclick="addtext('HELLO2');">Add HELLO2</button>

<textarea id="postText"><textarea>
还有一个简单的函数:

<script>
function addtext(x) {
var e = document.getElementById('postText').value;
e += x;
}
</script>
但它不起作用,错误是“x”未定义。我想将HELLO和HELLO2这两个词粘贴到textarea中,保留所有现有的textarea值。如何使其工作无误

Thanks.. but how? :)
改变

addtext(HELLO);

为什么? 字符串必须在引号中。JavaScript之前认为x等于HELLO和HELLO2的变量,而HELLO和HELLO2并不存在

另外,添加一条斜线,这样就可以结束文本区域的定义:并将JS更改为

function addtext(x) {
var e = document.getElementById('postText');
e.value+=x;
}
为什么? 如果您将e设置为一个值,那么它将是该静态值,并且无法更改textarea的实际值。另外,有些元素需要结束标记


您需要将此引用传递给函数。此外,HELLO以文字形式出现。它应该用引号括起来。你需要引用字符串。如果你想引用按钮,你需要这个引用。@迈克:他没有使用这个,或者根本没有引用按钮:他在试图传递一个字符串。我知道我后来意识到了这一点,并且已经评论说,只有当你需要引用对象时才需要它。是的。但是现在你能解释为什么吗?@DavidThomas好的,尽管它在评论中说了,我引用了他的话。因为javascript认为HELLO是一个没有引号的变量。addtextHELLO;表示将名为HELLO的变量的值传递给函数。因为HELLO是未定义的,所以在函数中引用x时会出现错误,因为没有向它传递任何内容。添加文本“你好”;将向函数传递字符串HELLO。单击按钮后,addtext'HELLO'和addtext'HELLO2'不会执行任何操作,也不会发出警告。。有人能测试一下吗?
addtext('HELLO');
addtext('HELLO2');
function addtext(x) {
var e = document.getElementById('postText');
e.value+=x;
}