1

そのため、ID に基づいて AJAX 関数を呼び出すボタンがあります。ここでは、PHP ファイルから情報 (html フォーム) を引き出します。これはかなり単純な形です。それは完全に読み込まれます。ロードされるメインのhtmlファイルにも、このフォームの関数があります。テスト目的で、送信されないようにし、フォームの下にテスト フレーズを追加したいだけです。残念ながら、これは機能しません。AJAX経由でロードせずにフォームストレートをhtmlファイルに入れてみましたが、フォームは送信されず、メッセージが出力されます。

ボタンがクリックされ、フォームをdivに追加するように指示されたときのコードは次のとおりです。

$("#zip-search-button").click(function(e){ 
            e.preventDefault();

            if ($("#thezip").val() != "") {
                $.post("http://website.com/app/deal.php", {zip : $("#thezip").val(), radius : $("#radius").val()}, function(data){
                    if (data.length > 0) { 
                        // Here we add the form
                        $( "#results" ).html( data );
                    } 
                });
            }
        });

フォームが送信されたときのコードは次のとおりです。

$("#buy-now1").click(function(e){ 
                e.preventDefault();

                $( "#results" ).append( "Hiiiiiii, This is a test!" );
            });

AJAX経由でフォームをロードするときにフォーム機能が機能しない理由は何ですか?

この JavaScript はすべて、メインの html ファイルの body タグの下部にあります。

4

4 に答える 4

1

.onjquery ドキュメントで確認してください。基本的に、ページが読み込まれたときにフォームが存在しなかったため、イベント ハンドラーはアタッチされませんでした。.on を使用して、ドキュメントの読み込み時に存在する親要素にリスナーをアタッチすると、ゴールデンになります。

于 2013-10-25T01:56:48.810 に答える
0

送信ボタンをただのボタンに変えてみませんか? フォームの送信に関する問題はもうありません。

<button type="button" onclick="yourfunction();">Click Me</button>
于 2013-10-25T01:53:33.173 に答える