2011-09-27 22 views
0

我有一个HTML文本字段(输入元素)。如何使用javascript从HTML中删除属性?

<input name="capacity" type="text" value="blah blah blah"> 

这只是在我的页面上显示一个默认值为“blah blah blah”的文本字段。

我想要做的是删除值属性,因为我不想看到这个默认值。 我正在使用JavaScript做到这一点。

value = element.getAttribute("value"); 
    if((element.readOnly != undefined || element.readOnly == false) || (element.disabled != undefined || element.disabled == false)){ 
    //element.removeAttribute(value);  
    element.removeAttribute("value");  

但它不工作。我甚至试过

element.setAttribute("value",""); 

但没有运气。
任何我可能会丢失的指针。


编辑:
我得到了有关这个问题的问题,有兴趣的人可以check this

***************** ****************************

非常感谢。

+1

'element.value =“”;' –

+0

您是否考虑过使用占位符属性而不是默认值?但只适用于现代浏览器。 – RobG

+0

@Chamika已经完成了......请参阅alex的回答的第三条评论。尽管如此,感谢回复。 – EMM

回答

3

...我不想看到这个默认值。

只需将value属性直接设置为空字符串即可。

document.getElementsByName('capacity')[0].value = ''; 

jsFiddle

+0

直接表示您的意思,只需将HTML打开到编辑模式而不是浏览器并手动更改属性即可。 – EMM

+1

@mohit这就是我的意思,但如果你能做到这一点,为什么还要用JavaScript呢?什么输出这个表单元素? – alex

+1

它工作。我太过熟悉removeAttribute和setAttribute,我完全错过了我这个简单的朋友。 :) Thanx亚历克斯。我虽然修改了一下。 element.value = “”;这样我就不需要关心我的元素的ID或名称。 – EMM

0

给你的文本字段和身份证一样<input name="capacity" type="text" id="text" value="blah blah blah">document.getElementById['text'].value = "";

0

这是你的HTML标记。您将需要一个ID添加到它

<input id="capacity" name="capacity" type="text" value="blah blah blah"> 

这只是触发JavaScript函数

<input type="submit" value="Click" onclick="javascript:return reset();" /> 

以下功能将会使所选元素的值

<script type="text/javascript" language="javascript"> 
    function reset() { 
     document.getElementById("capacity").value = ""; 
     return false; // In order to avoid postback 
    } 
</script> 

如果您没有使用表单,并且只想用它您可以尝试以下名称

this.capacity.value = ''; 
+0

+1非常好写的答案,但容量不是id,它是name.Will你的代码工作? – EMM

+2

这真的很糟糕。语言属性在十多年前已弃用,在处理程序中不需要“javascript:”,它被视为无用标签,从提交按钮的点击处理程序返回false不会停止表单提交。不要使用提交按钮,如果你不想提交表单(改变类型为按钮)等。处理程序可能是:'this.form.capacity.value ='';' – RobG

+0

感谢哥们: - )会记住这一点 –