2

ユーザーが特定のアクションを実行すると、フォーム要素(入力チェックボックス)をフォームに追加するjQueryコードをまとめようとしています。後で、ユーザーはこのフォームを送信できます。

私はjQueryにまったく慣れていませんが、ほとんど機能するコードをまとめることができました。これが私が持っているものです:

$("#someDivID").load("myPage.asp?id=x");

myPage.aspはいくつかのフォーム要素を生成し、これはすべてページにうまく表示されます。

ただし、(POSTを介して)フォームを送信すると、新しいフォーム要素は実際には投稿されません。フォーム送信機能は次のとおりです。

$(document).ready(function() {

    var options = {};

    // bind to the form's submit event
    $('#MyFormID').submit(function() {
      $(this).ajaxSubmit(options);
      return false;
    });
});

これが完全に間違っているとすみませんが、DOMが最初にロードされた後に新しいフォーム要素が生成されるためだと思います。DOMをリロードする必要がありますか(もしそうならどのように?)、それともすべてを別の方法で行う必要がありますか?

よろしく、アダム

4

3 に答える 3

3

フォームに要素を追加することは問題ではありません。

入力要素(チェックボックスなど)がフォーム要素自体またはフォームの子要素のいずれかに追加(この場合はロード)されていることを確認する必要があります。さらに、入力の名前属性を確認しましたか?名前がないと、入力は投稿されません。

ところで:ajaxSubmitは何をしますか?

于 2010-02-07T22:10:47.093 に答える
0

Firebugをインストールして、入力要素がドキュメント内のどこに配置されているかを確認します。フォームブロック内にない場合、送信されません。(そして、aefxxが言うように、名前が付けられていない場合、HTTPリクエストには表示されません。)

于 2010-02-07T23:12:57.577 に答える
0

おそらくあなたの問題は、「someDivID」要素が「MyFormID」の子/子孫ではないため、投稿されないことです。

フォームコントロールをロードするdivがフォーム内に配置されていることを確認してください。

これで問題が解決しない場合は、HTMLの関連部分を投稿してさらに支援することを検討してください。

于 2010-02-07T23:18:07.017 に答える