2013-02-06 48 views
0

我們正在自動執行Web測試並希望驗證文本區域中的內容。Jquery - 獲取文本區域中實際顯示的內容

我們希望從用戶角度檢查實際顯示的內容。使用佔位符或用戶/測試用例輸入它並不重要。我們使用html5佔位符屬性。

$("textarea").text()如果文本是通過佔位符輸入的,則不會給我任何東西。

嘗試了$("textarea").val(),但它給了我與使用.text()相同的行爲。

我們可以編寫像if (text is empty) { look at placeholder }這樣的邏輯,但由於它不能確定文本區域中實際顯示的內容,所以感覺不對。我想有一個替代使用邏輯。否則,我們假設瀏覽器使用我們在測試中實現的相同邏輯。

任何想法?

+0

爲什麼不讀出通過'.attr佔位符屬性( )'如果textarea是「空的」? –

+0

Hi @GungFoo。正如問題中所解釋的,我希望有一個替代使用邏輯。如果我們這樣做,那麼我們假設瀏覽器使用我們在測試中實現的相同邏輯。 –

回答

2

你的意思是html5佔位符或佔位符由js插件添加?

如果是1的情況下,我想這可以幫助:

var text = $("textarea").val() || $("textarea").attr('placeholder') 

演示:http://jsfiddle.net/mJkFc/

+0

更新的問題來解釋它是我們正在談論的html5佔位符屬性 –

+0

這不是我想要的,但我現在正在使用它。謝謝 –

0

試試這個:

var t = document.getElementsByTagName('textarea')[0]; 
var text = t.value || t.getAttribute("placeholder") || ""; 
相關問題