js或jquery显示textarea的值,总是显示上一次的。为什么啊

js或jquery显示textarea的值,总是显示上一次的。为什么啊,第1张

你是不是用了

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>并获取里面的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9661801.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存