为什么我不能获得包含输入类型和输入值的元素的innerHTML?

时间:2017-11-29 10:21:13

标签: javascript html

您好我想获得包含输入值的输入元素的div的innerHTML



<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<div id="test">
  <input type="text" id="in" />
</div>

<p id="pid">
  un texte.<input type="text" id="in" />
</p>

<input type="submit" id="in" onclick="afficher();" />
  <script>
    function afficher()
    {
      var t=document.getElementById("test");
      alert(t.innerHTML);
      var x = document.getElementById("pid");
      alert(x.innerHTML); 
    }
  </script>
</body>
</html>
&#13;
&#13;
&#13;

我想在输入元素中获取插入的文本。

2 个答案:

答案 0 :(得分:0)

一段代码可以发挥魔力。

  

<强>的onblur =&#39;的javascript:this.setAttribute(&#34;值&#34;,THIS.VALUE)&#39;值=&#34;&#34;

&#13;
&#13;
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<div id="test">
  <input type="text" id="in" onblur='javascript:this.setAttribute("value",this.value)' />
</div>

<p id="pid">
  un texte.<input type="text" id="in" onblur='javascript:this.setAttribute("value",this.value)' value=""/>
</p>

<input type="submit" id="in" onclick="afficher();" />
  <script>
    function afficher()
    {
      var t=document.getElementById("test");
      alert(t.innerHTML);
      var x = document.getElementById("pid");
      alert(x.innerHTML); 
    }
  </script>
</body>
</html>
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

function afficher()
{
  var t=document.getElementById('test').querySelectorAll("input");
  console.log(t[0].value);
  var t=document.getElementById('pid').querySelectorAll("input");
  console.log(t[0].value);
}
<div id="test">
 <input type="text"/>
</div>

<p id="pid">
  un texte.<input type="text" />
</p>

<input type="submit" id="in" onclick="afficher();" />

使用getElementById获取div / p元素,然后使用querySelectorAll获取输入元素。要使用input.value

获取值