如果用户使用 jquery 在没有更改 url 的情况下选中复选框,我需要将用户从索引页面重定向到另一个名为“free.php”的页面。我在这里创建了一个示例,
这里的复选框正在验证,但我无法重定向到 free.php。虽然我是 jquery 和 ajax 的新手,但我找不到答案。我需要在我的代码中更改什么?
谢谢!
如果用户使用 jquery 在没有更改 url 的情况下选中复选框,我需要将用户从索引页面重定向到另一个名为“free.php”的页面。我在这里创建了一个示例,
这里的复选框正在验证,但我无法重定向到 free.php。虽然我是 jquery 和 ajax 的新手,但我找不到答案。我需要在我的代码中更改什么?
谢谢!
$.ajax
除非您在其中一个处理程序中进行物理重定向,否则无法使用调用进行重定向。但是,这会破坏您不更改浏览器网址的意图。
不更改浏览器 URL 的唯一方法是:
iframe
and 并将其源更改为free.php
处理ajax
并将HTML
响应注入free.php
到DOM
:
$.ajax({
type: "POST",
url: "free.php",
data: formdata,
dataType : 'html',
success : function(html) { $('div.result').html(html); }
});
为什么不将操作设置为 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;
}
});
我不认为$.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;
}
});
});