2010-12-02 2 views
0

Im пытается реализовать некоторый код, который я нашел на веб-сайте, который дублирует поле файла при нажатии ссылки href, код практически точно совпадает с кодом, но он вообще не работает ,jQuery - динамическое добавление полей полей

Может ли кто-нибудь взглянуть и сообщить мне, где я ошибаюсь.

Полный код выглядит следующим образом:

JavaScript:

<script> 
$(
function(){ 
    var jAddNewUpload = $("#add-file-upload"); 

    jAddNewUpload 
     .attr("href", "javascript:void(0)") 
     .click(
      function(objEvent){ 
       AddNewUpload(); 

       objEvent.preventDefault(); 
       return(false); 
      } 
     ); 
} 
); 

function AddNewUpload(){ 
    var jFilesContainer = $("mpfiles"); 
    var jUploadTemplate = $("#element-templates div.row"); 
    var jUpload = jUploadTemplate.clone(); 
    var strNewHTML = jUpload.html(); 
    var intNewFileCount = (jFilesContainer.find("div.row").length + 1); 

    jUpload.attr("id", ("file" + intNewFileCount)); 

    strNewHTML = strNewHTML 
     .replace(
      new RegExp("::FIELD3::", "i"), ("mpfile[]") 
     ); 

    jUpload.html(strNewHTML); 

    jFilesContainer.append(jUpload); 
} 
</script> 

HTML:

<div id="mpfiles"> 
    <div class="row"> 
     <label>Files:</label> 
     <div class="files-box"> 
      <div class="file sub-file"> 
       <input class="file-input-area" name="mpfile[]" type="file" size="32" value="" /> 
       <input readonly="readonly" class="text" type="text" value="click to upload" /> 
       <a href="#" class="button">view</a> 
      </div> 
     </div> 
    </div> 
</div> 

<div id="element-templates" style="display: none;"> 
    <div class="row"> 
     <label>Files:</label> 
     <div class="files-box"> 
      <div class="file sub-file"> 
       <input class="file-input-area" type="file" name="::FIELD3::" size="32" value="" /> 
       <input readonly="readonly" class="text" type="text" value="click to upload" /> 
       <a href="#" class="button">view</a> 
      </div> 
     </div> 
    </div> 
</div> 

<div class="row"> 
    <label>&nbsp;</label> 
    <a href="" id="add-file-upload">Upload another file</a> 
</div> 

Сайт, где я получил код из здесь http://www.bennadel.com/blog/1375-Ask-Ben-Dynamically-Adding-File-Upload-Fields-To-A-Form-Using-jQuery.htm

+0

Это может быть полезно для редактирования этого и сделать к сведению шаги, которые вы уже пытались диагностировать проблему. Это сократило бы то, что люди должны смотреть на себя, а также показать, что вы не просто ставите его здесь для нас, чтобы работать над ним, потому что вы ленивы. – 2010-12-02 05:52:49

+0

Поскольку я не могу сделать это за вас, вы можете также проверить, что у вас есть правильное количество пробелов перед вашим кодом. Язык makrup ищет 4 пространства, чтобы решить, что такое код, и что такое обычный текст. – 2010-12-02 05:55:07

ответ

2
function AddNewUpload(){ var jFilesContainer = $("mpfiles"); 

Вам нужен # перед тем mpfiles ... как это:

function AddNewUpload(){ var jFilesContainer = $("#mpfiles"); 
Смежные вопросы