javascript - 为什么我不能在字段名称中使用 - ?

标签 javascript html

基本上我只是想清除一个文本字段,这对我来说从来都不是问题。 但是,这不起作用:

<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

引用资料:

关于javascript - 为什么我不能在字段名称中使用 - ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12335395/

相关文章:

javascript - 使用 Vue.js 在 Bootstrap 模式中自动完成 Google map

jquery - 使用jquery通过数据属性创建选项而不重复

javascript - 如何仅使用客户端语言从本地文件加载字符串?

javascript - 纯 JS 检测包装器上的点击并关注内部输入

javascript - 在 Twitter Bootstrap 弹出窗口中引用对象

javascript - 我需要在 for 循环中创建变量吗?

javascript - 每秒扫描页面查找关键字是否有效?

html - 单击按钮将 html 转换为 pdf 时边距不起作用

javascript - 根据我悬停的圆圈显示相应的工具提示文本

javascript - 在 Node js 应用程序内的 Postgres 查询中转义单引号