2011-07-14 21 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("input"); 

ではないでしょうか?

+1

あなたはその場にいるよ、愚かな私には大変感謝している – Bulvak

+1

問題は半修正されています。数字はリストに追加されますが、一度「追加」をクリックするとすぐに送信ボタンもトリガされます。 S – Bulvak

+0

そのフィドルではない:http://jsfiddle.net/y8Uju/5/ – ChristopheCVB

0

これは/^[0-9]{10}$/; wi 10個の数字だけを受け取ります。それには1234567890と入力してください。エラーは表示されません。私は

document.createElement("inputNames"); 

を見てきました

0

あなたの「名前」フィールドが10桁の数字に制限されている理由はわかりませんが、動作することがあります。 http://jsfiddle.net/y8Uju/4/

問題は、あなたがinputNamesというタグ名で要素を作成しようとしていたことだと思いますが、それは有効なタグではありません。代わりに、私はそれを変更して入力を作成し、クラスをinputNamesに設定しました。

関連する問題