动态加载的表单将无法正确更新

时间:2012-06-04 03:29:28

标签: javascript jquery twitter-bootstrap prepend

我有一个使用.load()加载到页面中的表单。我想在str中使用我计算的HTML更新表单,但我的代码没有正确更新表单。为什么呢?

if($(this).is('.step3')){
    //Splits the comma seperated values into input fields
    var active_fields = ($('#templateFields').val()).split(',');
    $('#loadedcontent').load('template.html #step3',function(){
        $('#steps').text('Step Three');
        $('#start.btn').text('Save Template & Values').removeClass('step3').addClass('step4');
    });

    str = "";
    for(var i = 0; i<active_fields.length; i++){
        str += '<label>'+active_fields[i]+'</label><input name="'+active_fields[i]+'" type="text"     class="span3">';                
    }
    $('form#values.well').html(str);            
}

2 个答案:

答案 0 :(得分:1)

您必须将表单修改放在加载完成函数中,如下所示:

if($(this).is('.step3')){
    //Splits the comma seperated values into input fields
   var active_fields = ($('#templateFields').val()).split(',');
   $('#loadedcontent').load('template.html #step3',function(){
       $('#steps').text('Step Three');
       $('#start.btn').text('Save Template & Values').removeClass('step3').addClass('step4');
       str = "";
       for(var i = 0; i<active_fields.length; i++){
          str += '<label>'+active_fields[i]+'</label><input name="'+active_fields[i]+'" type="text"     class="span3">';                
       }
        $('form#values.well').html(str);            
  });
}

您的方式,修改表单的代码在表单完成加载之前运行,因此无法找到内容,因此无法修改它。

答案 1 :(得分:1)

抱歉,我认为我无法在表单中嵌套表单。我认为这就是为什么它不起作用