0

私はこの機能を持っています

$("#JqPostForm").submit(function(e){    
    e.preventDefault();  
    $("#despliegaresultados").empty();
    $("#paginacion").empty();
    $.post("php/prueba.php", $('#JqPostForm').serialize(),

    function(data)
    {
        $.each(data, function(i, item)
        {
            total= item.total;
            datos = item.datos;
        });

        //is doing something here 

    });
}, "json");

このhtmlで

<html>
.....
   <form>
       <input type="text" name="nombre">
       <input type="submit"> 
   </form>
......
</html>

うまく機能し、json形式で投稿データを送受信します。私の問題は、フォームを別のhtmlに保存してからボタンなどで取得しようとすると、呼び出しが「GET」パラメーターで行われ、理由がわかりません。

.load()私はjquery docから読んだことがありますが、このサイトからの多くの投稿もありましたが、情報が見つからないようです。外部アーカイブからフォームを取得する方法

$('#target').load('php/searchForm.html',{algo:'algo'});

次に、フォームが html に読み込まれるようになりましたが、フォームを送信すると、呼び出しが「GET」に変わります。pd。すみません、私はアメリカ人でも英語でもありません。

4

3 に答える 3

0

あなたは言及するのを忘れました

<form method="POST">
于 2013-07-27T04:09:53.553 に答える
0

GET はフォームを送信するデフォルトの方法です。構文エラーがあるため、フォームはおそらく JavaScript ではなく通常の方法で送信されます。フォームが動的に挿入される場合は、委任されたイベント ハンドラーが必要になります。

$('#target').on('submit', '#JqPostForm', function (e) {
    e.preventDefault();
    $("#despliegaresultados, #paginacion").empty();
    $.post("php/prueba.php", $('#JqPostForm').serialize(), function (data) {
        $.each(data, function (i, item) {

            // NOTE: Ajax is async, the below values are only accessible
            //       after the ajax call has completed

            var total = item.total,
                datos = item.datos;
        });
    }, "json");
});
于 2013-07-27T04:09:38.883 に答える
0

たくさん探した後、私はこのソリューションに来ました jQuery load relaoding content in div in form submit

最後に、私の問題はこの方法で解決されました。「index」と「externalForm」の両方のファイルを同じディレクトリに移動しました。両方ともヘッダーにあり、外部フォームをロードして使用できました

于 2013-07-27T17:58:13.510 に答える