1

ユーザーがjqueryを使用してURLを変更せずにチェックボックスをオンにした場合、ユーザーをインデックスページから「free.php」という別のページにリダイレクトする必要があります。ここに例を作成しましたが、

http://jsfiddle.net/jKHQe/

ここでチェックボックスが検証されていますが、free.php にリダイレクトできませんでした。jquery と ajax は初めてですが、答えが見つかりませんでした。コードで何を変更する必要がありますか?

ありがとう!

4

3 に答える 3

1

$.ajaxいずれかのハンドラーで物理的にリダイレクトしない限り、呼び出しを使用してリダイレクトすることはできません。しかし、それはブラウザの URL を変更しないという意図を無効にします。

ブラウザの URL を変更しない唯一の方法は次のとおりです。

  • and を組み込み、iframeそのソースをに変更しますfree.php
  • ajax 呼び出しを処理し、現在ページにある要素に応答を挿入します。

からの応答を処理ajaxして に挿入します。HTMLfree.phpDOM

$.ajax({
    type: "POST",
    url: "free.php",
    data: formdata,
    dataType : 'html',
    success : function(html) { $('div.result').html(html); }
});
于 2012-06-28T02:07:57.127 に答える
0

アクションを free.php に設定し、ajax 呼び出しを削除してみませんか? したがって、次のようになります。

$("#agreeForm").submit(function()
{

    if (!$("#agree").is(':checked'))  
    {
    document.getElementById("err").innerHTML="you must agree to terms if you would like to access web";
              return false;

    } 
});
于 2012-06-28T02:07:33.773 に答える
0

$ .ajax $.ajax() は、ページを呼び出し、リロードせずにページから応答を取得するために使用されます。

ajax 呼び出しをまとめて削除し、フォームのタイトルを次のように変更します。<form method="POST" action="free.php" id="agreeForm" name="Agree">

$(document).ready(function() {
   $("#agreeForm").submit(function()
    {
      if (!$("#agree").is(':checked'))  
      {
         document.getElementById("err").innerHTML="you must agree to terms if you would like to access web";
         return false;

      } 
   });
});
于 2012-06-28T02:08:40.387 に答える