4

このフォーラムのスクリプトを使用して、複数のアップロードを行いたいと思います。スクリプトは完全に機能しますが、プロジェクトとマージすると。javascriptは私の要素の値を取得できません。問題は、ページに多くのID PANELがあるため、getElementByID('<%="FileUpdate.ClientID%>').value(元のgetElementByID("FileUpdate").value:)に変更する必要があることがわかりました。

問題は次のとおりです:私はカウンターを使用する必要があります、例:getElementByID('<%="txtFileUpdate' + counter + '%>').valueしかしそれは失敗します。エラーは、その行を指している「文字リテラルの文字が多すぎます」と表示されます。

誰か助けてください、この問題の解決策はありますか?

これがスクリプトです

----->エラー「文字リテラルの多くの文字に」

    <script type="text/javascript" language="javascript">

    var counter = 1;

    function AddFileUpload() {
        if (counter < 5) {
            counter++;
            var div = document.createElement('DIV');
            div.innerHTML = '<input id="FileUpload' + counter + '" name = "file' + counter +
         '" type="file" />' +
          '<input id="Button' + counter + '" type="button" ' +
          'value="Remove" onclick = "RemoveFileUpload(this)" />';
            document.getElementById("FileUploadContainers").appendChild(div);
        }
        else {
            alert("Cannot attach more than 5 file");
        }
    }

    function GetFile() {
        var temp;
        var error = "";
        var stringx = "";
        var exCounter = 1 ;
        for (exCounter; exCounter <= counter; exCounter++) {
     -----> stringx = document.getElementById('<%=FileUpload'+exCounter+'.ClientID%>').value;    
                if (stringx != "")
                temp += stringx + "#;";
            else 
                error += exCounter + ", ";                            
        }
        if (error != "") {
            alert("Field " + error + " Still Empty");
            return;
        }
            document.getElementById('<%=HiddenField1.ClientID%>').value = temp;            
    }
4

1 に答える 1

0

これを試して:

getElementByID('FileUpdate<%=counter%>').value

また

getElementByID('<%=txtFileUpdate + counter.ToString()%>').value
于 2012-10-15T00:56:56.433 に答える