2013-10-07 115 views
0

我有一個表格:jQuery的:文本字段名稱選擇

<form id="userForm" action="xpto"> 
    <input type="text" name="form[data_nascimento_beneficiario_1]" value /> 
    <input type="submit" value="Continuar" /> 
</form> 

現在上一個腳本文件我嘗試讓現場的lenght進行驗證:

$("#userForm").submit(function (e) { 
    alert($("input[name="form[data_nascimento_beneficiario_1]"]).length()); 
}); 

但我總是得到「類型錯誤:無法調用空的「長」」,

我想這個問題是對名字有‘書[]’,但沒有什麼我可以改變:(

任何人都可以幫助我嗎?

對所有人的問候。

回答

3

的幾個問題有:

  1. 按實際報價代碼有語法錯誤,因此不會給你你已經錯誤說,你已經結束了你的JavaScript字符串,在name這個單詞後面。

  2. 當您測試的屬性值包含除字母A-Z之外的任何內容時,最好將它放在引號中。

  3. length是 「號」 的結尾,而不是 「HT」

  4. ...在jQuery的it's a property,不是方法,所以你不想()

  5. 的您在選擇器中使用的名稱(data_nascimento_baneficiario_1)與表格中的名稱不匹配(data_nascimento_beneficiario_1),請注意選擇器中「baneficiario」開頭處的「a」。

全部在一起:Live Example | Source

alert($('input[name="form[data_nascimento_beneficiario_1]"]').length); 

(這裏,我用'把周圍的選擇符的報價和"把屬性值引號包圍。其他的方式也有效。)

+0

我也tryed了這一點,但沒有我給的我同樣的錯誤。 –

+0

@NunoSimões:你引用的代碼不能給你你所說的錯誤,所以它聽起來像你可能沒有編輯正確的文件或者其他的東西。還請注意上面的#4(如果您沒有看到編號列表,請點擊刷新)。 –

+0

@NunoSimões:我當時正在做一個實例,發現了第五個問題。 –

0

你有一個錯字:.lenght() - 它應該是length。另外,請小心你的報價包裝。

你行改成這樣:

alert($("input[name='form[data_nascimento_baneficiario_1]']).length); 
0

你有一個錯字,和長度是不是一個函數(),所以沒有必要用()

更改此

lenght()

length調用它的

DEMO

0

注知道爲什麼不工作,但一個解決辦法是

$("input").filter(function(){ 
    return this.name = 'form[data_nascimento_beneficiario_1]'} 
).val().length