如何在javascript中清除textarea的值?
我正在尝试根据下拉选择删除某些元素的内容。我尝试过这段代码,警告显示新值为空,但当我保存它时,目标元素仍然有内容 这是我的密码:如何在javascript中清除textarea的值?,javascript,html,Javascript,Html,我正在尝试根据下拉选择删除某些元素的内容。我尝试过这段代码,警告显示新值为空,但当我保存它时,目标元素仍然有内容 这是我的密码: var res = document.getElementById("select-result").value; //alert(res); function clearValues(id, inputType) { var td = document.getElem
var res = document.getElementById("select-result").value; //alert(res);
function clearValues(id, inputType) {
var td = document.getElementById(id);
if (td != undefined || td != null) {
var res = td.getElementsByTagName(inputType)[0].value;
alert(res); // returns the content of element
if (res != "") {
res = "";
alert("New res value: " + res); //returns empty
}
}
}
注:
如果我手动删除目标元素的内容,它会将其保存为空。这真令人费解为了我。与手动清空字段相比,javascript不应该让事情变得更简单吗?您正在将
res
设置为文本框的值,而不是值
属性。因此,您只是将res
变量设置为空,而不是文本框的值。请尝试以下方法:
var res=document.getElementById(“选择结果”).value;
函数clearValues(id,inputType){
var td=document.getElementById(id);
if(td!=未定义| | td!=空){
var res=td.getElementsByTagName(inputType)[0]。值;
如果(res!=“”){
td.getElementsByTagName(inputType)[0]。值=”;
}
}
}
试试这个
function clearValues(id, inputType) {
var td = document.getElementById(id);
if (td != undefined || td != null) {
var element = td.getElementsByTagName(inputType)[0];
elmValue = element.value;
if (elmValue != '') {
element.value = "";
}
}
}
您已将textarea的值分配给一个新变量,
res
,但res
不是指向该值的指针,它基本上是该值的副本,对res
所做的任何更改都不会反映在原始值中
考虑以下代码:
var fruit1 = "apples"
var fruit2 = fruit1;
fruit2 = "oranges"
alert(fruit1); // still "apples"
alert(fruit2); // now "oranges"
因此,您希望更改原始元素的实际值属性,如下所示:
td.getElementsByTagName(inputType)[0].value = "";
请显示您的保存部分..innerText或innerHtml ti将值重新分配给“@Sudhir”,它是您刚才调用的应用程序的一部分。不确定它是否适用于您的目的,但您可以始终使用reset()
方法重置表单。当然,这将使所有表单元素返回其原始值。在if
条件中,始终res
应为空。所以您不需要检查该元素的值。只需在您的if条件下执行res=”“
。