1

次のスクリプトは、html 入力要素を動的に追加するために呼び出されます。以下のマークされたコード (約 30 行) には 2 つの問題があります。

1) 2 番目の入力ボックス (foox1 - 「姓」) の下にマークされたコードを追加すると、2 つの入力ボックスが表示されます。

2) 2 つ目は、id='suggestions' を動的にする、つまり foox1 にリンクする必要があることです。残りのコードと同じように setAttribute を使用する必要がありますが、最初に上記の 1) を取得する必要があります。

<script language="javascript">

var x = 1;

function add() {
var fooId = "foo";

for (i=1; i<=2; i++)
  {
    //Create an input type dynamically.
    var element = document.createElement("input");

    //Assign different attributes to the element.
    element.setAttribute("type", fooId+x+i);
    element.setAttribute("name", fooId+x+i);
    element.setAttribute("id", fooId+x+i);

    if(i==1){
           element.setAttribute("value", "First name");
           element.setAttribute("onkeyup", "lookup(this.value);");
           element.setAttribute("onblur", "fill();");

     }
    if(i==2){
          element.setAttribute("value", "Last name");

    }
    var foo = document.getElementById("fooBar");
    foo.appendChild(element);

    /************************************************
    This is where the problem is, in this if statement.  
    This part of the code is required for an autofil in the text box

    ************************************************/

    if(i==1){
        foo.appendChild("<div class='suggestionsBox' id='suggestions' style='display: 
            none;'><img src='upArrow.png' style='position: relative; top: -12px; left: 30px;'         
            alt='upArrow' /><div class='suggestionList' id='autoSuggestionsList'>&nbsp;       </div>    </div>");
    }

    /********************************
    end of code with issues
    ******************************/

    var space = document.createTextNode(" ");
    foo.appendChild(space);  

}
        i++;            
            var element = document.createElement("input");
    element.setAttribute("type", "button");
    element.setAttribute("value", "Remove");
    element.setAttribute("id", fooId+x+i);
    element.setAttribute("name", fooId+x+i);    
    element.setAttribute("onclick", "removeRow(this)");
    foo.appendChild(element);

    var br = document.createElement("br");
    foo.appendChild(br);

    x++;

}
</SCRIPT>
4

2 に答える 2

0

これらの最初の2行をそれぞれ終了する必要があります" +

于 2013-09-01T07:16:50.600 に答える