2013-08-16 227 views
1

爲什麼不能正常工作?這裏input類型是text從textarea對象獲取textarea值

var name = $("input[name='Event[name]']").serializeArray(); 
name = name[0].value; 

var description = $("input[name='Event[description]']").serializeArray(); 
description = description[0].value; 

當我想要得到的從textarea相反,這是行不通的。

+1

創建一個小提琴。 –

+1

如果只有兩個字段,爲什麼要使用數組? –

+0

在這裏很多領域,我不能使用id或jquery它必須是javascript – Nurbek

回答

0

替換代碼爲.val().text()

+1

-1'val()'應該有效。最好使用'.val()'並省略'serializeArray()'。 –

+0

你能展示完整的代碼更改嗎? – towi

0

值不是一個textarea的屬性。 Textarea是有內容的節點。使用textContent的JQuery屬性。

+0

我+1下面的答案,使用'text()'方法。 – Craig

0

textarea as no value attribute。自jQuery folds all values for all kind of input elements(輸入,選擇,複選框和文本區)進入此函數調用後,使用$("input[name='Event[description]']").val()

這意味着您應始終使用.val()來獲取任何值的值 - 您的代碼將更加簡單,甚至可以在不破壞任何內容的情況下更改輸入元素的類型。

+0

但他使用'serializeArray()' - 不僅僅是一個jQuery結果。例如,嘗試在此頁面上使用答案框運行'$(「textarea」)。serializeArray()[0] .value'。它肯定有'.value'屬性。 – Yuck

+0

@Yuck:在這種情況下,我沒有看到'serializeArray()'的理由。 –

+0

我也沒有看到它的原因,但是因爲它正在被使用,所以產生的對象確實有'.value'屬性。 – Yuck

2

這應該工作:

var name = $("input[name='Event[name]']").val(); 

var description = $("input[name='Event[description]']").val(); 

讓jQuery的處理value

的.VAL()方法主要用於獲得形式元素,如輸入,選擇並textarea的的值。

0

是否有任何特定的原因,爲什麼你使用get值作爲數組?

如果不是見下文:

var name = $('#name').val(); 
var description = $('textarea#description').val(); 

考慮描述是你給什麼作爲ID的文本字段和文本區域。