layer.open弹出框不能获取input框改变后的值 & textarea 取值取不到(已解决)

之前总是以为textarea的取值有问题,翻了各种资料发现是用的layer.open导致的

问题如下:当我修改textarea的值后,触发layer open的成功回调函数,得到的值还是textarea之前的值,并不是改变后的值。

解决方法:layer.open弹出框不能获取input框改变后的值 & textarea 取值取不到(已解决)_第1张图片

将content的$("#commentHtml").html()改成dom节点方式$("#commentHtml")即可

layer.open弹出框不能获取input框改变后的值 & textarea 取值取不到(已解决)_第2张图片

 

改完一个bug又来一个bug:layer.open弹出框不能获取input框改变后的值 & textarea 取值取不到(已解决)_第3张图片

加上type类型就好了,(网上说弹出的dom节点层可以放在body之外,防止与本页面造成渲染污染,这个没试)

HTML和DOM节点区别:

摘自layer.open官网

 

  1. /!*
  2. 如果是页面层
  3. */
  4. layer.open({
  5. type: 1,
  6. content: '传入任意的文本或html' //这里content是一个普通的String
  7. });
  8. layer.open({
  9. type: 1,
  10. content: $('#id') //这里content是一个DOM
  11. });
  12. //Ajax获取
  13. $.post('url', {}, function(str){
  14. layer.open({
  15. type: 1,
  16. content: str //注意,如果str是object,那么需要字符拼接。
  17. });
  18. });
  19. /!*
  20. 如果是iframe层
  21. */
  22. layer.open({
  23. type: 2,
  24. content: 'http://sentsin.com' //这里content是一个URL,如果你不想让iframe出现滚动条,你还可以content: ['http://sentsin.com', 'no']
  25. });
  26. /!*
  27. 如果是用layer.open执行tips层
  28. */
  29. layer.open({
  30. type: 4,
  31. content: ['内容', '#id'] //数组第二项即吸附元素选择器或者DOM
  32. });

 

 

 

你可能感兴趣的:(前端,layer)