-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

次のように、フォームの変更をロード完了関数に入れる必要があります。

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 に答える
1

申し訳ありませんが、フォーム内にフォームをネストすることはできませんでした。それがうまくいかなかった理由だと思います

于 2012-06-04T03:57:57.960 に答える