zoukankan      html  css  js  c++  java
  • 通过html()的方法获取文本内容, form表单组件显示的值与获取到的值不一致的问题

      我在通过 html()获取对应节点的内容,发现一个问题,获取到的 form表单组件的内容值是初始加载的值,而不是经过用户修改后的值。例如页面加载时组件<input type="text" value="111111"/>,用户更改表单的值为 222222,通过父节点的html()方法获取这个组件,预期应该是<input type="text" value="222222"/>,可结果却是初始时的样子<input type="text" value="111111"/>。

      经过调试,发现通过用户更改表单的值时,是不会更改对应表单节点的html值,而是更改了缓存在内存中的属性值(例如 properties),浏览器会把这个属性值显示出来,而不是value属性的值(如果是textarea则是.html()的值).所以这个问题之所以出现,是因为我们误以为浏览器显示所用的值是存储在 一开始要浏览器显示值所使用的属性(如果是textarea则是.html()的值)。

      如果想使通过html()的获取的内容与显示的一致,可使用如下的几个方法

    //更改html的值的一些方法示例
     $(".box_content input[type='text']").each(function(index, element) {//input text 标签
              $(this).attr("value",$(this).val());
      });
      $(".box_content textarea").each(function(index, element) {//textarea 标签
              $(this).html($(this).val());
     });   

    然后执行 $(".box_content").html();  

    注:当form表单使用reset的方法时,其实就是把 一开始浏览器显示值所使用的存储位置(input[text] 是value,textarea是.html())的值 重新赋予 保存用户修改表单值的属性(即val()方法获得的值的存放位置)

  • 相关阅读:
    【2017.12.02普及组模拟】送快递
    【NOIP2013模拟联考7】OSU
    顺序表元素位置倒置示例c++实现
    c++字符串排序
    JAVA实现四则运算的简单计算器
    JAVA图形小动画之简单行星运动
    JAVA多线程编程
    ege图形库之简单贪吃蛇(c++)
    ege图形库之动画排序
    c语言中一种典型的排列组合算法
  • 原文地址:https://www.cnblogs.com/lingepeiyong/p/4028858.html
Copyright © 2011-2022 走看看