2017-03-15 12 views
0

我使用表单创建了一个页面,您可以在其中输入名称。 当您提交名称时,名称将以名称“bezeichnung”存储。 现在我想使用输入“bezeichnung”作为按钮标签。并将其附加到页面的正文。使用html中名称=“example”的值

这是形式:

<head> 
    <link rel="stylesheet" href="\User\stl.css"/> 
</head> 

    <body> 
     <h1> Neue Station hinzufügen</h1> 
     <form id="stationenformular" name="stationenformular" action="indexAktualisierung.html" method="get"> 
      <div> 
       <label for="bezeichnung">Bezeichung der neuen Station:</label> 
       <input type="text" id="bezeichnung" name="bezeichung" /> 
      </div> 
      <br><br> 
      <div> 
       <label for="ipadresse"> IP Adresse des Raspberry Pi:</label> 
       <input type="text" id="ipadresse" name="ipadresse"/text> 
      </div> 
      <div> 
      <br> 
      <input type="submit" value="Abschicken"/> 
      </div> 
     </form> 
    </body> 
</head> 

,并在另一个HTML脚本此功能:

var x = document.getElementsByName("bezeichnung"); 
var btn = document.createElement("BUTTON"); // Create a <button> element 
var t = document.createTextNode(x);   // Create a text node 
btn.appendChild(t);       // Append the text to <button> 
document.body.appendChild(btn); 
+0

有一个在你的HTML'一个错字 '应该是'' –

+0

您的javascript是否嵌入在与您的html表单相同的html文件中? –

+0

不是它在另一个html文件 – babschili

回答

1

对于第一你namebezeichung,不bezeichnung。 另外getElementsByName返回array-like object。你需要从你的元素中获得第一项;

var x = document.getElementsByName("bezeichnung")[0]; // Get the first 
var btn = document.createElement("BUTTON"); // Create a <button> element 
var t = document.createTextNode(x.value);   // Create a text node with x's value 
btn.appendChild(t);       // Append the text to <button> 
document.body.appendChild(btn); 

查看示例。我默认添加了文本。

var x = document.getElementsByName("bezeichnung")[0]; 
 
var btn = document.createElement("BUTTON"); // Create a <button> element 
 
var t = document.createTextNode(x.value);   // Create a text node 
 
btn.appendChild(t);       // Append the text to <button> 
 
document.body.appendChild(btn);
<body> 
 
    <h1> Neue Station hinzufügen</h1> 
 
    <form id="stationenformular" name="stationenformular" action="indexAktualisierung.html" method="get"> 
 
     <div> 
 
      <label for="bezeichnung">Bezeichung der neuen Station:</label> 
 
      <input type="text" id="bezeichnung" name="bezeichnung" value="Test"/> 
 
     </div> 
 
     <br><br> 
 
     <div> 
 
      <label for="ipadresse"> IP Adresse des Raspberry Pi:</label> 
 
      <input type="text" id="ipadresse" name="ipadresse"/text> 
 
     </div> 
 
     <div> 
 
      <br> 
 
      <input type="submit" value="Abschicken"/> 
 
     </div> 
 
    </form> 
 
</body>

+0

即'var x = document.getElementsByName(“bezeichnung”)[0];' –

+0

upvoted for excellent new version with code snippet :) –

0

要获得bezeichnung输入字段的唯一实例,您可以使用var x = document.getElementsByName("bezeichnung")[0];var x = document.getElementById("bezeichnung");

至于苏伦Srapyan说,getElementsByName返回所有元素的数组使用该名称,所以你需要通过把位置放在你想要的对象的数组中来指定你的意思。

然而,正如你可能只想要一个实例bezeichnung,它更容易使用getElementById

+0

我的问题是,如果我使用getElementById按钮中的文本现在为“空”,但如果我以“abc”形式输入,它应该是“abc” 如果我正在处理两个不同的html文件,是否必须观察某些内容? – babschili

+0

如果JavaScript指向两个不同的HTML文件,或者该按钮需要在两个中都具有相同的ID,或者您需要为另一个按钮编写单独的脚本(建议如果另一个按钮做了不同的事情) –

0
var x = document.getElementsByName("bezeichnung"); 
var btn = document.createElement("BUTTON"); // Create a <button> element 
var t = document.createTextNode(x);   // Create a text node       
btn.parentNode.insertBefore(t, btn);  // Append the text to <button> 
document.body.appendChild(btn); 
0

尝试使用的getElementById改变getElementsByName

var x = document.getElementById("bezeichnung"); 
var btn = document.createElement("BUTTON"); // Create a <button> element 
btn.innerText = x.value;       // Append the text to <button> 
document.body.appendChild(btn); 

Demo

+0

我已经说 –

相关问题