你是不是用了
kindeditor这种编辑器
如果是的话,你在
获取textarea的值前,加上这一句:
editorsync();//让编辑器的数据同步
问题就解决了,我碰到的情况就是这样,每获取一次值,都是上一次输入的那个值
首先 textarea是标准是不能设置标签的 如果你真的想设置html
那么建议你用div
设置给div加一个属性 contenteditable="true"
如 <div id="div" contenteditable="true"></div>
然后运行这个网页 你就会发现这个div可以输入东西了 那么你再在里面加上html当然不是问题 对吧 呵呵 现在有很多的编辑框 都不用textarea 都是用div
只不过这个div当中的回车 是<p></p>标签 你在获取这个divhtml()时 就要对它进行处理了
如:
var context = $("#div")html();
context=contextreplace(/\<\/p\>/,"\n") //将内容的全部</p>替换为\n 也就是换行
context=contextreplace(/\<p\>/,"") //将内容的全部<p>去掉
这样就是你想要的结果了 不过如果你在里面加了其它标签 就自己做处理吧
先去的td这个节点,然后去的td的innerHTML,然后判断字符串中是否有
<textarea>,如果有就是有控件,然后切分字符串。从
var res=strsubstring(strindexOf("<textarea>"),strindexOf("<\/textarea>"));
res就是textarea中的值,
也可以用jquery,会更简单一些,但是如果你不会就按上面的思路来。
我在FireFox下试了
$("#t1")val("111111111"); 这一句可以正常设置ID为t1的textarea的值;
你可以用以下任一种方法验证一下:
1、代码后加上 $("#t1")show();
2、代码后加上 alert( $("#t1")val() )
3、用firebug在 $("#t1")val("111111111"); 处设置断点,添加监控表达式 $("#t1")val() 可以看到
回车在html里面其实就是<br/>,如果直接抓取的话,在JS里面<br/>是没意义的,自然就忽略了。这时候要把<br/>转化为JS的/n
var haha=$("textarea")val();
haha=hahareplace(/<br \/>/g,'\n');
以上就是关于js或jquery显示textarea的值,总是显示上一次的。为什么啊全部的内容,包括:js或jquery显示textarea的值,总是显示上一次的。为什么啊、jquery中使用html给textarea赋值,再使用val获取时候,html代码就无效了,有什么办法解决、js 如何判定td中是否有控件<textarea></textarea>并获取里面的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)