1

リンクをクリックすると、JS は新しいファイル タグをページに追加しますが、毎回すべてのファイル タグをリロードします。私が必要としているのは、リンクをクリックしたときに、以前のファイル タグを再読み込みせずにファイル タグを追加することです。

誰かがこれについてアイデアを持っているかどうかを提案してください。

以下は私のコードです。

var intTextBox = 0; 
function addElement() 
{
    intTextBox = intTextBox + 1;
    var contentID = document.getElementById('content');
    contentID.innerHTML = "";
    var howManyTextBoxes = intTextBox;  
    for ( var i = 0; i < howManyTextBoxes; i++) 
    {               
        var newTBDiv = document.createElement('div');           
        newTBDiv.setAttribute('id', 'strText' + intTextBox);
        newTBDiv.innerHTML += "<input type=file name='fileUpload' size='40'/>";                             
        contentID.appendChild(newTBDiv);                        
}

これがJS関数を呼び出す方法です。

    <a href="javascript:addElement();">Attach more files</a>
4

2 に答える 2

3

その関数から false を返す必要があります。そうしないと、リンクによってページがリロードされます。

function addElement() {
    intTextBox = intTextBox + 1;

    var contentID = document.getElementById('content');
    contentID.innerHTML = "";
    var howManyTextBoxes = intTextBox;  
    for ( var i = 0; i < howManyTextBoxes; i++) {               
    var newTBDiv = document.createElement('div');           
    newTBDiv.setAttribute('id', 'strText' + intTextBox);
    newTBDiv.innerHTML += "<input type=file name='fileUpload' size='40'/>";                             contentID.appendChild(newTBDiv);                            
    return false;
}
于 2013-04-26T07:15:15.943 に答える
1

次のように呼び出すことができます:

<a href="javascript:addElement();return false;">Attach more files</a>

false を返すことを忘れないでください。

于 2013-04-26T07:22:02.927 に答える