基本上我只是想清除一个文本字段,这对我来说从来都不是问题。 但是,这不起作用:
<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重命名为onclick="document.form.inputfield.value = ''"; ... 然后就可以正常工作了。
但是...从字段名称中删除“-”在我的情况下不是一个选项(详细解释)。
那么,如何清除包含“-”的文本字段???
最佳答案
因为它不是有效的 JavaScript 标识符。但是,您可以改用以下内容:
document.form['input-field'].value
这与您不能使用 var my-var
声明变量的原因相同。另一方面,如果您有一个对象
,例如带有多个键的form
,您可以像访问关联数组一样访问它的属性:
var form = {
"input-field": 20,
otherKey: 30
};
form.input-field; // Error
form.otherKey; // OK
form['input-field']; // OK
引用资料:
- Identifier Names and Identifiers (ECMAScript 语言规范)
- Objects as associative arrays
关于javascript - 为什么我不能在字段名称中使用 - ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12335395/