-3

我有一个表单,它使用.load(). 我想用我计算的 HTML 更新表单str,但我的代码没有正确更新表单。为什么?

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);            
}
4

2 回答 2

1

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

于 2012-06-04T03:57:57.960 回答
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);            
  });
}

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

于 2012-06-04T03:32:10.717 回答