4

jQuery Ajax経由で送信するjquerymobileダイアログボックスにフォームがあります。

現在、私の問題は、フォームが送信されると、元のダイアログボックスの上に同じダイアログボックスが再び開かれることです。

私のURLが送信前に読み取られるように:

url/index.php#&ui-state=dialog

そして提出後:

url/index.php#&ui-state=dialog#&ui-state=dialog&ui-state=dialog

誰もこれまでにこのようなことに遭遇したことがありますか?

[追加されたコード例を編集]

$(function(){
    $("#form").submit(function(e){
        e.preventDefault();
        var dataString = $("#form").serialize();
    errorInput = $("input[name=valOne]#valOne").val();
        $.ajax({
            type: "GET",
            url: "formHandler.php",
            data: dataString,
        dataType: "text",
            success: function(data){
            if(data.toLowerCase().indexOf("error") >= 0){
                alert(data);
                $(".ui-dialog").dialog("close");
                $("#valOne").val(errorInput);  //the reentering info so user doesn't have to
            }else{
                    $(".ui-dialog").dialog("close");
                    location.href="index.php";
            }
            },
            error:function (xhr, ajaxOptions, thrownError){
                alert(thrownError);
            }
        });
    });
});
4

4 に答える 4

0

location.href の代わりに $.mobile.changePage("url here") を使用してみましたか? 詳細はこちらhttp://jquerymobile.com/test/docs/api/methods.html

于 2012-11-17T13:51:40.043 に答える
0

ページを再度読み込むのではなく、JS でページを更新する方が簡単ではないでしょうか? ダイアログ関数を 2 回呼び出している可能性があります。

于 2012-11-19T19:47:38.840 に答える
0
  1. この送信を使用して、フォームに独自のハンドラーを設定できます
  2. ページとダイアログ ウィンドウに 2 つのフォームを使用します。
于 2012-11-04T20:24:40.060 に答える