js textarea 取值,赋值

$("#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()也不妥当。但是这也是必求之策。
   再说赋值:
   看代码:
$("<div id='x1'><textarea id='t1'></textarea>" +
 "<textarea id='t2'></textarea></div>").appendTo("body");
$("#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() { $(this).text($(this).val()); }); 

     很丑,但看来是有效的! 如果有人有其他好点子,再分享一下吧!

   【著名心得】没有噼成一字马的本事,不要跟别人说你会"跨"浏览器!

 

 

 

一个关于JS给textarea赋值的问题!请指教
现在不会给textarea赋值了, 
  document.getElementById( 'Description ').value= "dfgdfgdfghdfghfghfgh "; 
都无法赋值了,将 'Description变成文本框就可以了,大家帮帮我吧!

------解决方案--------------------
<HTML> 
<HEAD> 

</HEAD> 
<BODY> 
<textarea id= "Description "> </textarea> 
<SCRIPT LANGUAGE= "JScript "> 
document.getElementById( 'Description ').value= "dfgdfgdfghdfghfghfgh "; 
</SCRIPT> 
</BODY> 
</HTML> 
------解决方案--------------------
document.getElementById( 'Description ').innerText= "dfgdfgdfghdfghfghfgh "; 
------解决方案--------------------
很怪,应该不会这样的。把代码帖上来吧,看看是不是 </textarea> 没写结束标签等原因造成的 
------解决方案--------------------
document.getElementById( 'Description ').value= "dfgdfgdfghdfghfghfgh "; 
这句没有问题,应该是你其他代码有问题

 

 

 

 

 

Textarea 赋值问题
<li class="" id="li_10">

<label class="description" for="element_10">Short Description </label>
<div><span id="char">120</span> <span class="greytext">Characters Left</span><br><br>

第一个textarea: ----------------------
<textarea id="short_description" name="short_description" class="element textarea small" οnkeyup="showChar(this);" οnblur="showChar(this);" wrap="virtual" οnmοuseοut="return nd();"></textarea>  


</div><p class="guidelines" id="guide_10"><small>Briefly describe your product.</small></p>  
</li>



<li class="" id="li_11">


<label class="description" for="element_11">Full Product Description </label>

<div><input readonly="readonly" name="limit" size="4" value="2048" style="border: medium none; background: none repeat scroll 0% 0% transparent;"  

type="text"><span class="greytext">Characters Left</span><br><br><br>

第二个textarea:--------------------------
  <textarea id="description" name="description" class="element textarea large" οnkeyup="limitText(this.form.description,this.form.limit,2048);" οnmοuseοut="return nd();"></textarea>  



</div><p class="guidelines" id="guide_11"><small>Describe your product in detail.  

When you are posting several products, we will recommend that you should post unique description (content) in Product Description field every time. Dont Copy/Paste  

same description. As it will hurt your promotion.</small></p>  
</li>

在以上的代码里第一个TEXTAREA可以用以下的语句实现赋值,而用同样的语句在第二个TEXTAREA里却不能给Textarea赋值?

WebBrowser1.document.getElementById("description").value="ABCDEFG"

提示没有些属性会方法,

请教要怎么给上面第二个Textarea代码里赋值呢.?

------解决方案--------------------
是不是你这个TEXTAREA还嵌套在哪个FRAME里,你最好给完整的代码,要不还是要猜测 
------解决方案--------------------
WebBrowser1.document.getElementById("short_description").value="abc"
WebBrowser1.document.getElementById("description").value="efg"

 

 

 

textarea 换行的问题,困惑了2年,寻求最佳解决之道
一般web上面普通的jsp页面: 

textarea   换行问题 

一般来讲只要在放textarea的   <td> 中不要出现   nowrap   就可以了。 

但是如果遇到连续的英文字符,比如说对于100个字符‘a’,即使你加了 

<td   warp>  这样的东西都没用。 

出来的效果还是textarea   里面,所有的a   被写在一行里面,没有换行。 

于是页面就被拉得非常丑了。 

不知道诸位遇到这个问题一般是怎么解决的? 
不妨把你的做法说说。

------解决方案--------------------
<style> 
.breakTd{; 
word-break: break-all; 

</style> 

<td class= "breakTd "> </td>

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值