根据url查询字符串设置和检查Javascript cookie

我正在尝试在我的网站上设置一个系统,以便通过自定义链接的用户被标记为cookie,该cookie触发特定代码以替换注册表单的默认部分。 在此示例中,对于访问http://example.com/?=mylink1的人来说,期望的结果是使用cookie来标记,该Cookie会将ID为#xcode的任何输入中的“value”属性更改为“X190”。 到目前为止我所拥有的:

从查询字符串创建cookie:

function cookieQuery() { var url = window.location.href; if(url.indexOf('?' + mylink1) = 1) document.cookie="cookie1"; } 

检查cookie,如果使用Jquery更改属性值,如果没有cookie,则不执行任何操作:

 function readCookie(cookie1) { var nameEQ = cookie1 + "="; 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) $("#xcode").attr("value","X190"); } return null; } 

我很感激任何帮助解决这个问题!

除非需要在用户计算机上保留数据,否则不需要使用cookie,您可以单独使用url参数来更改表单。

//页面URL http:somewhere.com/index.html?foo = bar&baz = boaz var url = window.location.href;

 //This function puts all of the params into a js object function getParams(u){ var theURL = u; var params = {}; var splitURL = theURL.split('?'); if (splitURL.length>1 ){ var splitVars = splitURL[1].split('&'); for(var i = 0; i < splitVars.length; i++){ splitPair = splitVars[i].split('='); params[splitPair[0]] = splitPair[1]; } return params; } return false; } params = getParams(url); //Check if there are any params if (params) { var foo = params.foo; //Use foo to make decision here }