2011-07-14 29 views
0

我發現this fiddle,我試圖讓它工作......我無法弄清楚爲什麼這些名稱沒有被添加到列表中,出於某種原因添加按鈕的行爲就像一個提交按鈕,我不知道爲什麼......應該所有的號碼添加到列表中,所以當我點擊提交,那麼它應該在一個陣列發送數字..爲什麼名稱沒有被添加到列表中?

的JavaScript:

function bindName() { 
    var inputNames = document.getElementById("names").getElementsByTagName("inputNames"); 
    for (i = 0; i < inputNames.length; i++) { 
     inputNames[i].onkeydown = function() { 
      if (this.value == "") { 
       setTimeout(deletename(this), 1000); 
      } 
     } 
    } 
} 
document.getElementById("addName").onclick = function() { 

    var num1 = document.getElementById("name"); 

    var myRegEx = /^[0-9]{10}$/; 


    var myRegEx = /^[0-9]{10}$/; 
    var itemsToTest = num1.value; 


    if (myRegEx.test(itemsToTest)) { 


     var form1 = document.getElementById("names"); 

     var nameOfnames = form1.getElementsByTagName("inputNames").length; 

     var newGuy1 = document.createElement("inputNames"); 

     newGuy1.setAttribute("id", nameOfnames); 
     newGuy1.setAttribute("type", "text"); 
     newGuy1.setAttribute("value", num1.value); 

     form1.appendChild(newGuy1); 
     num1.value = ""; 
     bindName(); 

    } 
    else { 
     alert('error'); 
    } 


}; 

HTML:

<h1>Enter Name</h1> 
<div id="mainName"> 
    <h2>name</h2> 
    <label for="name">Add Names: </label> 
    <input id="name" type="text"> 
    <button id="addName">Add</button> 
    <form> 
     <div id="names"> 

     </div> 
     <input METHOD="POST" action="text.php" type="submit" value="Submit"> 
    </form> 
</div> 
+0

因爲沒有標籤'inputNames' –

+0

那麼inputName標籤被創建,但你只能提交標準表單元素的值。 – Robert

回答

0

我見過

document.createElement("inputNames"); 

不應該

document.createElement("input"); 

+1

你是對的當場,愚蠢的我多虧了 – Bulvak

+1

這個問題得到了半固定的,數字DO添加到列表中,但一旦他們做了一次,你點擊「添加」提交按鈕被觸發我也不知道爲什麼: S – Bulvak

+0

不是那個小提琴:http://jsfiddle.net/y8Uju/5/ – ChristopheCVB

0

因爲這/^[0-9]{10}$/; wi只接受10個數字,只有這個數字,請嘗試輸入1234567890,您將看到沒有錯誤。

0

我不確定爲什麼你的「姓名」字段限制爲10位數字,但我有這個工作。 http://jsfiddle.net/y8Uju/4/

我認爲問題在於您嘗試使用標記名稱inputNames創建元素,但這不是有效的標記。相反,我改變它來創建輸入,並將類設置爲inputNames。

相關問題