0

jquery を使用して動的にロードされたフォームを実行しようとすると、いくつかの問題が発生しました。これが私のコードです:

$(this).ajaxSubmit({ 
    url: '/postform1.php',
    type: 'post',
    //target: '#preview',
    success: function(msg) {

        var s = msg + '<form name="sr" id="sr" action="postform.php" method="post"><input type="text" /></form>';
        $('#preview').html(s);

        $.getJSON("/postform1.php", function(data){
        var counter = 0;
        if(data) {
           $.each(data, function(i, val) {
                var newTextBoxDiv = $(document.createElement('div')).attr("id", val);
                newTextBoxDiv.after().html('<label>' + i + ' : </label>' + '<input type="text" name="' + i + '" id="' + i + '" value="' + val + '" >');
                newTextBoxDiv.appendTo("#sr");
                counter++;
            });
        }
        });
    }
 });

最初に postform1.php からフォーム全体をエコーし​​ていましたが、フォームが送信されていないことがわかりました。これが正しい方法かどうかはわかりませんが、試してみることにしました。誰かが何かアイデアを持っているなら、それはあなたから聞くのは素晴らしいことです.

4

2 に答える 2

0

あなたは宣言するのを逃しました:

contentType: " ... ",
dataType: " ... "
于 2012-09-05T08:25:57.640 に答える
0

これを調べてくれてありがとう、それをソートすることができました。これも変更しました:

var newTextBoxDiv = $(document.createElement('div')).attr("id", val);  
            newTextBoxDiv.after().html('<label>' + i + ' : </label>' + '<input type="text" name="' + i + '" id="' + i + '" value="' + val + '" >');  
            newTextBoxDiv.appendTo("#sr");  
            counter++;  

これに:

var newTextBoxDiv = $(document.createElement('div')).attr("id", val);
                newTextBoxDiv.html('<label>' + i + ' : </label>' + '<input type="text" name="' + i + '" id="' + i + '" value="' + val + '" >');
                newTextBoxDiv.appendTo(".sr");
                counter++;
于 2012-09-05T09:40:59.763 に答える