我想在网站上添加重定向问题。我不是一个大专家,所以这就是我要求帮助的原因。
在此处显示代码之前,问题以及我希望如何工作。
所以,我在我的网站上添加了一个Aweber表单,其中有两个字段名称和电子邮件+提交按钮。基本上,如果提交成功,则用户将被重定向到另一个页面,并且将设置cookie。
Cookie有什么用?
表单位于 website.com ,如果用户获得订阅,则会重定向 website.com/whatever.html
此外,如果他订阅,下次他进入 website.com 时,他将自动重定向到 website.com/whatever.html
好的,所以我有了这个主要想法,但我有一个问题,它正常工作。
基本上,现在它会重定向用户,即使他输入了错误的详细信息,例如姓名:JHKJHKhj和电子邮件:jkhkjhkjhkhjk
如果他输入这些(错误的)这些细节,他应该进入由Aweber设置的错误页面,但现在无论如何他都会被重定向。
这就是这应该如何运作:
现在是我的代码:
> $(document).ready(function() {
> $('#subscribe1').show()
>
> if (!readCookie('hide')) {
> }
>
> else {
> window.location = "http://website/whatever"
> }
>
>
> $('#sendbtn').click(function() {
> window.location = "http://website/whatever"
> createCookie('hide', true, 365)
> return false;
> });
>
> });
>
>
>
> function createCookie(name,value,days) {
> if (days) {
> var date = new Date();
> date.setTime(date.getTime()+(days*24*60*60*1000));
> var expires = "; expires="+date.toGMTString();
> }
> else var expires = "";
> document.cookie = name+"="+value+expires+"; path=/";
> }
>
> function readCookie(name) {
> var nameEQ = name + "=";
> var ca = document.cookie.split(';');
> for(var i=0;i < ca.length;i++) {
> var c = ca[i];
> while (c.charAt(0)==' ') c = c.substring(1,c.length);
> if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
> }
> return null;
> }
>
> function eraseCookie(name) {
> createCookie(name,"",-1);
> }
这是Aweber代码的一部分
<form method="post" class="af-form-wrapper" action="http://www.aweber.com/scripts/addlead.pl" >
<div style="display: none;">
<input type="hidden" name="meta_web_form_id" value="522321120" />
<input type="hidden" name="meta_split_id" value="" />
<input type="hidden" name="listname" value="jenselter" />
<input type="hidden" name="redirect" value="http://website.com/whatever" />
<input type="hidden" name="meta_adtracking" value="My_Web_Form" />
<input type="hidden" name="meta_message" value="1" />
<input type="hidden" name="meta_required" value="name,email" />
<input type="hidden" name="meta_tooltip" value="" />
</div>
谢谢!
答案 0 :(得分:0)
用于cookie管理谷歌有一个名为jcook.js的轻量级javascript文件 http://code.google.com/p/jcook/downloads/detail?name=jcook.js
下载文件并使用它。
我举一个小例子来做类似的任务。
您的表单将如下所示输入姓名和电子邮件。
<form method="POST" action="http://www.aweber.com/scripts/addlead.pl" id="inputForm">
<input name="name" />
<input name="email" />
<button id="authorize">authorize</button>
</form><!--end of the form-->
你的jquery将是
$(document).ready(function(){
$("#authorize").click(function(){
var name = $("input[name='name']").val();
var email = $("input[name='email']").val();
$.ajax({
url: "http://www.aweber.com/scripts/addlead.pl",
data: {name: name, email: email},
async: false,
success: function(data){//when you will get the successful authorization
COOKIES.createCookie("hide", true, 365);//COOKIES IS AN OBJECT IN THE JCOOK.JS TO MANAGE COOKIES
window.location.href = "http://website/whatever";
}
});
});
//if cookie exists
if(COOKIES.readCookie('hide') != null){
window.location.href = "http://website/whatever";
}
});