2013-12-24 3 views
0

У меня много проблем с написанием HTML, который смешивается с JavaScript. У меня есть поле ввода, которое назначает ввод переменной. Я хочу, чтобы это поле ввода назначало вход в файл cookie, и если на сайте есть файл cookie, он перенаправляет вас. Теперь у меня есть возможность перенаправить вас, если вы ввели cookie, по крайней мере, я думаю, а также у меня есть поле ввода. Теперь, если кто-нибудь может помочь мне в этом, это будет здорово.как сохранить пользовательский ввод текста html input как 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, но для повтора: я бы хотел, чтобы окно ввода не всплывало, где пользователи, но некоторые данные f или их файл cookie, и если информация там, он перенаправляет их на другую страницу.

Как сделать строку куки? Или как вы вносите входной файл cookie?

+0

Что вы пытаетесь достичь в конец? Какой-то логин? – nietonfir

+0

StackOverflow не является домом разработки, это ресурс для людей, чтобы задавать вопросы о своих проблемах. Какой у Вас вопрос? Что вы пробовали? Каков был результат, когда вы это пробовали? – Palpatim

+0

Насколько я понимаю, вам просто нужно добавить вход на страницу и установить его значение, если файл cookie существует? – DBS

ответ

0

Так я понимаю, что я сделал не так, благодаря некоторым советам/форме помощи @vulpus. Мне нужно, чтобы пользователь вводил переменную параметр в функцию, а затем напомнил функцию 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> 

делает UserInput из HTML переменной и ввести его в печенье:

<script> 
     function test() 
     { 
      var userInput = document.getElementById("userInput").value; 
      setCookie("username",userInput,30); 
      checkCookie(); 
     } 
</script> 
0

из лучших, которые я могу понять о вашем вопросе:

<div id="container"> 
<input type="text" id="input"/> 
<button id="trigger">enter</button> 
</div> 


И ваши ЯШАХ:

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) 
+0

PS: Возможно, вы захотите пройти курс по ошибке на JavaScript http://www.codecademy.com/tracks/ javascript - хороший) – MayorMonty

+0

Этот ящик ввода не позволяет мне вводить что-либо. почему это? – user2330624

+0

Позвольте мне попробовать его на моем сервере и скоро вернемся к вам – MayorMonty

Смежные вопросы