基本上我只是想清除一个文本字段,这对我来说从来都不是问题。 但是,这不起作用:
<html>
<body>
<form name="form">
<input type="text" name="input-field" value="Value" />
<input type="button" name="clear" value="Clear field" onclick="document.form.input-field.value = ''"; />
</form>
</body>
</html>
但是,如果我将“input-field”重命名为“inputfield”并onclick to onclick =“document.form.inputfield.value =''”; ......然后就可以了。
但是......从字段名称中删除“ - ”不是我的选择(长解释)。
那么,如何清除包含“ - ”???
的文本字段答案 0 :(得分:10)
因为它不是有效的JavaScript标识符。但是,您可以使用以下代码:
document.form['input-field'].value
出于同样的原因,您无法使用var my-var
声明变量。另一方面,如果您有一个object
,例如带有多个键的form
,则可以像访问关联数组一样访问其属性:
var form = {
"input-field": 20,
otherKey: 30
};
form.input-field; // Error
form.otherKey; // OK
form['input-field']; // OK
答案 1 :(得分:6)
-
不是标识符中的有效字符,例如
document.form.input-field;
被解释为
document.form.input - field;
当然,您可以使用方括号表示法来解决问题:
document.form["input-field"];