簡體   English   中英

為什么我不能使用 - 在字段名稱?

[英]Why can't I use - in field names?

基本上我只是想清除一個文本字段,這對我來說從來都不是問題。 但是,這不起作用:

<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 =''”; ...然后它工作正常。

但是...從字段名稱中刪除“ - ”,在我的情況下不是一個選項(長解釋)。

那么,如何清除包含“ - ”的文本字段?

因為它不是有效的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

參考文獻:

- ,不是標識符中的有效字符

document.form.input-field;

被解釋為

document.form.input - field;

當然,您可以使用方括號表示法來解決問題:

document.form["input-field"];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM