2017-03-15 34 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

我已經說 –

相關問題