2011-09-02 86 views
1

使用jquery表單插件。我試圖測試使用方括號的表單元素的值。試圖用jquery轉義方括號時出現非法字符

  var form = jqForm[0]; 
      if (!form.sendTo\\[\\].value) {     
       alert('Something'); 
       return false; 
      } 

儘管試圖逃脫它仍然給我一個錯誤的括號內。

非法字符

[打破這個錯誤]如果(!form.sendTo \ [\]。值){

是不可能做到這一點?

感謝

回答

3

你可以在JavaScript中使用方括號中的字符串的地方點記號。評論後

var form = jqForm[0]; 
if (!form["sendTo[]"].value) {     
    alert('Something'); 
    return false; 
} 

編輯:那麼試試這個

使用jQuery你可以決定多少檢查,如複選框有使用代碼:

$('input[name="sendTo[]"]:checked',form).length 

假設form是一個jQuery對象引用包含複選框的表單。如果不是,您應該可以在上面的示例中將其包裝爲$(form)

活生生的例子:http://jsfiddle.net/TMSsq/

+0

謝謝。那就是訣竅。 – oljones

+0

在更進一步的觀察中,看起來,雖然這起作用,但這並不完全是整個畫面。表單元素實際上是名爲「sendTo []」的一組複選框的一部分。顯然,我需要做的是弄清楚如何確定任何方框是否有值,因爲至少需要檢查其中一個。 – oljones

+0

@oljones - 請參閱更新 – Jamiec

0

使用它作爲一個關聯數組。試試這個

 var form = jqForm[0]; 
     if (!form.["sendTo[]"].value) {     
      alert('Something'); 
      return false; 
     }