1

Ajax success function前のページに戻れるようになってから欲しい。

<div id="dialog" title="Complain">
       <form id="komenform">
                <label>Model :</label>
                <input type="text" id="comodel" name="comodel"/>
                <label>Komentar :</label>
                <textarea id="comment" name="comment" rows="5" cols="20" ></textarea>
                <button id="submitcom" type="button" class="ui-state-default ui-corner-all"><span>Submit </span></button>
                <input name="action" value="inputcom" type="hidden">
       </form>
</div>

$("#komenform").validate({
        rules:{
                comodel:{
                          required:true
                          },
                comment:{
                        required:true
                        }
                }
        });

$("#submitcom").click(function() {
      if($("#komenform").valid()) {
            var params=$("#komenform").serialize();
            $.ajax({
                    type:"post",
                    url:"/QA/process2.php",
                    data:params,
                    cache :false,
                    async :false,
                    success : function() {
                           $("#comodel").val("");
                           $("#comment").val("");
                           $("#dialog").dialog('close');
                           history.back();
                           },
                    error : function() {
                           alert("Data failed to input.");
                           }
                    });
            }
      });

しかし、それはうまくいきません。


アップデート

削除しようとすると機能しdialog('close')ます:

success : function() {
       $("#comodel").val("");
       $("#comment").val("");
 //      $("#dialog").dialog('close');
       window.history.go(-1);
       return false;
       },

ただし、送信ボタンをダブルクリックする必要があります。なぜ?

4

2 に答える 2

2

できます..

success : function() {
       $("#comodel").val("");
       $("#comment").val("");
 //      $("#dialog").dialog('close');
       window.history.go(-2);
       return false;
       },

に変更-1するだけ-2です。

于 2013-08-16T06:26:27.207 に答える
1

提案:

  • async:false のため、ここでは AJAX を使用していません。
  • PHPページを呼び出し、ヘッダーリダイレクトを使用して目的のページにリダイレクトします
  • ajax 呼び出しが成功したら、console.log でコードをデバッグします。
  • history.back() の代わりに window.history.back() を試してください
于 2013-08-15T10:03:07.237 に答える