如何使用onclick方法清除textarea值
How to clear the textarea value using onclick method
我有一个listBox,当选择它时,它将在textArea中打印,旁边我给了一个清除按钮,所以当点击textArea的值必须被清除时,它工作得很好,现在的问题是,在清除textArea中的值后,当我再次选择listBox时,该值没有打印在textArea上。有什么问题吗?下面是代码
HTML:<select id="aggregationFunct" name="aggregationFunct" size="3" multiple="multiple">
<option value="Count">Count</option>
<option value="Sum">Sum</option>
<option value="Avg">Avg</option>
</select>
<input type="button" id="addToExp1Id" value="Add" onclick="addToExpText()" >
</br> </br>
<label for="expTextId" style="font-family: sans-serif; font-size: small;"> Expression : </label>
<textarea name="textArea" id="expTextId" readonly="readonly"> </textarea>
<input type="button" id="clearId" value="Clear" onclick="clearTextArea()">
JavaScript: function addToExpText() {
alert("hello);
var aggreFunct = document.getElementById("aggregationFunct").value;
var obj = document.getElementById("expTextId");
var aggFun = document.createTextNode(aggreFunct);
obj.appendChild(aggFun);
obj.appendChild(openP);
}
function clearTextArea(){
document.form1.textArea.value='';
}
清除textArea中的值后,如果我再次点击listBox值并添加它,它不会被添加。请帮助……这是一个不能正常工作的实现,可能是因为我第一次使用它,我可能错了。
http://jsfiddle.net/8dHf5/5/不知道为什么它是这样工作的,但这里有一些可能的修复:您可以使用value来添加和清除,而不是使用append(添加一个新的聚合函数):
function addToExpText() {
alert("hello");
var aggreFunct = document.getElementById("aggregationFunct").value;
var obj = document.getElementById("expTextId").value += aggreFunct;
}
function clearTextArea(){
document.getElementById("expTextId").value='';
}
演示:http://jsfiddle.net/8dHf5/17/
或者您可以使用remove子节点来清除textarea:
的值function addToExpText() {
alert("hello");
var aggreFunct = document.getElementById("aggregationFunct").value;
var obj = document.getElementById("expTextId");
var aggFun = document.createTextNode(aggreFunct);
obj.appendChild(aggFun);
}
function clearTextArea(){
var myNode = document.getElementById("expTextId");
while (myNode.firstChild) {
myNode.removeChild(myNode.firstChild);
}
}
Demo: http://jsfiddle.net/8dHf5/14/
此外,在你的代码中有一行obj.appendChild(openP);
,但我没有看到它在代码中可用,所以我删除了它。
另一个时刻:在你的clearTextArea
中,你试图访问你的文本区域,如document.textArea
-如果我没有错过什么,它是IE唯一的功能,它与id而不是名称一起工作。最好使用文档。getElementById是跨浏览器的
您的代码中有一些错误。我已经修改了…
现在您可以清除数据了。请参考以下代码:
<html>
<body>
<script>
function addToExpText() {
alert("hello");
var aggreFunct = document.getElementById("aggregationFunct").value;
var obj = document.getElementById("expTextId");
var aggFun = document.createTextNode(aggreFunct);
obj.appendChild(aggFun);
}
function clearTextArea(){
var textArea = document.getElementById("expTextId");
while (textArea.firstChild) {
textArea.removeChild(textArea.firstChild);
}
}
</script>
<select id="aggregationFunct" name="aggregationFunct" size="3" multiple="multiple">
<option value="Count">Count</option>
<option value="Sum">Sum</option>
<option value="Avg">Avg</option>
</select>
<input type="button" id="addToExp1Id" value="Add" onclick="addToExpText()" >
</br> </br>
<label for="expTextId" style="font-family: sans-serif; font-size: small;"> Expression : </label>
<textarea name="textArea" id="expTextId" readonly="readonly"> </textarea>
<input type="button" id="clearId" value="Clear" onclick="clearTextArea()">
</body>
</html>
相关文章:
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 单击jquery清除输入值
- 当值更改时,在servlet中自动获取textarea值,无需单击按钮
- 验证Javascript中的Textarea
- Textarea必需的attribut在javascript中不起作用
- 如何在Microsoft VirtualEarth 6.3中使用纯javascript清除整个形状层
- 清除以前的$_GET值或不获取仅隐藏字段的值
- Javascript清除缓存以清除基本身份验证凭据
- 更改代码镜像中TextArea的高度和宽度
- 清除启动日期选取器值
- 在 SlickGrid 中编辑后,根据不同列中的另一个单元格清除单元格
- php页面,该页面在清除值后接受输入
- 清除数据并将旧值附加到文本框中
- 使用javascript清除Asp.NET FreeTextBox(RTF文本框)
- 如何使Visual Studio自动清除Javascript控制台
- 使用javascript或html本身清除文本字段
- 清除函数中if语句内部不起作用的间隔
- 从PHP文件外部清除textarea不起作用
- Textarea不能完全清除
- 如何使用onclick方法清除textarea值