u010622828
gang_qi_xi_2
采纳率10.5%
2020-01-13 17:56 浏览 456

var xmlContent= document.getElementById("xmlContent").value;试过不行,如何获取input标签的值?

5

代码如下:

input style="display: none;" id="xmlContent" name="xmlContent" value="<%=xmlContent%>"/>

其中:xmlContent的值为html,如何获取input标签的值?

同时,var xmlContent= document.getElementById("xmlContent").value;

试过不行,大佬们,有其他方法吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答 默认 最新

  • purensong333 purensong333 2020-01-13 18:02

    这不是自我循环嘛,,啥样的需求能写出这种代码

    点赞 评论 复制链接分享
  • dinglin5555 Oximimasu 2020-01-13 18:55

    可能是因为取值发生在赋值前
    有先后顺序的问题
    试试在页面加载完成后再调用

    比如:

    window.onload=function (){
      var xmlContent=document.getElementById("xmlContent").value;
      console.log(xmlContext)
    }
    
    点赞 评论 复制链接分享
  • jslang 天际的海浪 2020-01-13 21:16
    可能的原因1:
    在全局环境下的代码是在页面解析阶段从上到下一边解析一边执行的,这时处于代码下面的页面元素还没有解析完,访问不到。
    要把script放在页面body标签的最下面,或者使用window.onload事件(页面解析完成后触发)才可以。
    
    原因2:
    页面上有多个id="xmlContent"的元素。
    页面元素的id应该是唯一的,id不要重复,重复的id用document.getElementById()获取时,只能获取到第一个。
    要获取多个元素时,应该用元素的class,并用getElementsByClassName()获取元素数组。
    如果你一定要用id的话,也可以用 document.querySelectorAll("#id") 获取多个元素。
    
    原因3:
    如果<%=xmlContent%>输出的内容中有双引号("),会与value=""的双引号起冲突,需要在服务器端输出时把双引号替换成&quot;
    另外如果<%=xmlContent%>输出的内容是多行文本要改用 <textarea></textarea> 标签。
    
    
    点赞 评论 复制链接分享
  • a718089112 a718089112 2020-01-14 10:07

    var xmlContent= document.getElementById("xmlContent").value; 你这行代码写到哪里了? 写到JS方法里面才有效啊。建议你看一下网页加载html标签和js的顺序,参考下:https://www.jb51.net/article/98317.htm

    点赞 评论 复制链接分享
  • CDSN_SB_SYY CDSN_SB_SYY 2020-01-15 10:43

    现在浏览器中可以这样写
    var myValue=edt1.value

    点赞 评论 复制链接分享

相关推荐