我在编写与JavaScript混合的HTML时遇到了很多麻烦。 我有一个输入框,用于将输入分配给变量。我希望该输入框将输入分配给cookie,如果在网站中输入了cookie,则会重定向您。现在,如果您输入了cookie,我可以让它重定向您,至少我认为并且我还有一个输入框。现在,如果有人能帮助我,这将是伟大的。
以下是Cookie的代码
function setCookie(cname,cvalue,exdays)
{
var d = new Date();
d.setTime(d.getTime()+(exdays*24*60*60*1000));
var expires = "expires="+d.toGMTString();
document.cookie = cname+"="+cvalue+"; "+expires;
}
function getCookie(cname)
{
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++)
{
var c = ca[i].trim();
if (c.indexOf(name)==0) return c.substring(name.length,c.length);
}
return "";
}
function checkCookie()
{
var user=getCookie("username");
if (user!="")
{
window.location.assign("http://....") //if the user has a cookie saved it will redirect them to a newpage
}
else
{
user = prompt("Please enter your name:",""); // I do not want a prompt I want a input box
if (user!="" && user!=null)
{
setCookie("username",user,30);
}
}
}
</script>
这是输入框的html:
<div id="container">
<input type="text" id="input"/>
<button id="trigger">enter</button>
</div>
以下是使输入成为变量的javascript:
var trigger = document.getElementById("trigger");
trigger.addEventListener("click",
function () {
var input = document.getElementById("input");
}, false)
你不必使用我的html,但要回顾一下:我想要一个输入框不是弹出用户,而是一些信息用于他们的cookie,如果信息在那里,它将它们重定向到另一个页面。
如何将字符串变成cookie? 或者你如何输入cookie?
答案 0 :(得分:1)
从我能理解的最好的问题:
<div id="container">
<input type="text" id="input"/>
<button id="trigger">enter</button>
</div>
你的js:
var trigger = document.getElementById("trigger");
trigger.addEventListener("click",
function () {
var input = document.getElementById("input");
setCookie("user",input.value,30) // Just getting the id is an object and you can access things in that object
}, false)
答案 1 :(得分:0)
所以我看到我做错了什么,感谢@vulpus的一些提示/帮助。我需要将用户输入变量作为参数添加到函数中,然后调用check cookie函数,以便重定向用户。
的Cookie:
<script>
function setCookie(cname,cvalue,exdays)
{
var d = new Date();
d.setTime(d.getTime()+(exdays*24*60*60*1000));
var expires = "expires="+d.toGMTString();
document.cookie = cname+"="+cvalue+"; "+expires;
}
function getCookie(cname)
{
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++)
{
var c = ca[i].trim();
if (c.indexOf(name)==0) return c.substring(name.length,c.length);
}
return "";
}
function checkCookie()
{
var user=getCookie("username");
if (user!="")
{
window.location.href ="http://stackoverflow.com/questions/20766590/how-to-save-user-text-input-html-input-as-cookie"
}
else
{
if (user!="" && user!=null)
{
setCookie("username",user,30);
}
}
}
</script>
html输入:
<input type="text" id="userInput"=></input>
<button onclick="test()">Submit</button>
将html中的userInput变为一个变量并将其作为cookie输入:
<script>
function test()
{
var userInput = document.getElementById("userInput").value;
setCookie("username",userInput,30);
checkCookie();
}
</script>