JQuery TextArea的取值與賦值問題

2021-09-03 10:57:26 字數 1259 閱讀 4828

先說取值:

$("#textarea").text();讀取,最近測試時候發現在firefox中讀取不出textarea的值,ie正常

於是修改為:

$("#textarea").val();

問題解決,不過搜尋時,發現有人提另乙個問題:

當在乙個textarea標籤中鍵入乙個回車時,實際上會插入2個符號:\n\r \n 回車符 \r 換行符

如果用text()獲取textarea中的值,那麼存入資料庫的資料就只會有\r 如果用var()獲取textarea中的值,

那麼存入資料庫的資料就只會有\n 這樣的區別就是,在ie下,

你如果是讀取用text()存入的資料在展示在textarea中,那麼資料的換行是正常的。

而讀取用var()存入的資料在展示在textarea中,那麼資料的就不會換行。

沒有具體測試過看來用val()也不妥當。但是這也是必求之策。

再說賦值:

看**:

$("" +

"$("#t1").text("aaa");$("#t2").val("bbb");

alert("t1=" + $("#t1").text() + "/" + $("#t1").val());

alert("t2=" + $("#t2").text() + "/" + $("#t2").val());

alert($("#x1").html());

在ie下,不管用val()或text()設定,後續的讀取都正常;但在firefox下,使用val()指定的值,畫面上會出現,但是用text()或是透過html()檢視時卻是字串。因此在firefox中,如果你希望設定給textarea值出現在html()中或可以被clone(),請用text(...)設定。

且慢!! 事情如果這麼單純,那麼連小學生也會跨瀏覽器了。使用text()設定時得注意換行問題,若你在ie中下text("a\na"),在顯示時只會呈現空一格而不會換行。依我測試的結果,在ie下text("a\r\a")得到顯示結果比較接近預期,但是text("a\ra")在firefox中顯示時會換列,用text()取出時卻是連在一起的... 這... 這... 這...

最後,只能採取懦夫策略,在呼叫.clone()前做了這件事迴避問題:

$thediv.find("textarea").each(function() );
很醜,但看來是有效的! 如果有人有其他好點子,再分享一下吧!

【著名心得】沒有噼成一字馬的本事,不要跟別人說你會"跨"瀏覽器!

JQuery TextArea的取值與賦值問題

先說取值 textarea text 讀取,最近測試時候發現在firefox中讀取不出textarea的值,ie正常 於是修改為 textarea val 問題解決,不過搜尋時,發現有人提另乙個問題 當在乙個textarea標籤中鍵入乙個回車時,實際上會插入2個符號 n r n 回車符 r 換行符 ...

jquery textarea 判斷是否為空

因為不熟悉jquery 就直接上手開始開發jquery mobile 所以遇到了很多問題 在驗證表單 判斷textarea 是否為空時候怎麼都判斷不了。後來覺得應該過濾 textarea 中的空格 和html 所以找了以前的過濾 貼一下 希望別人遇到此類問題時能夠快速解決。function isnu...

container of 的的的原理

另外一篇,同樣精彩,揭開linux核心中container of的神秘面紗 華清遠見嵌入式學院講師。在linux 核心中有乙個大名鼎鼎的巨集container of 這個巨集是用來幹嘛的呢?我們先來看看它在核心中是怎樣定義的。呵呵,乍一看不知道是什麼東東。我們先來分析一下container of p...