2015-01-06 4 views
1

Я хочу спросить пользователя в своем веб-браузере с раскрывающимся меню, которое школьный веб-сайт они хотят открыть, а затем сохранить его в файле cookie и автоматически открыть этот веб-сайт в следующий раз, когда они откроются webapp. Я плохо разбираюсь в JS, поэтому, пожалуйста, объясните.сохранить селектор в cookie и получить этот файл cookie

Спасибо заранее.

<head> 
<script> 
<!-- Cookie script --> 
</script> 
</head> 
<body> 
    <form> 
     <select id="class"> 
      <option value="Choose">Choose</option> 
      <option value="flah">School#1</option> <!-- Should redirect to site #1 --> 
      <option value="june">School#2</option> <!-- Should redirect to site #2 --> 
     </select> 
     <button type="submit">V&auml;lj</button> 
    </form> 
</body> 

Update:

<

form> 
     <select id="class"> 
      <option value="Choose">Choose</option> 
      <option value="flah">School#1</option> <!-- Should redirect to site #1 --> 
      <option value="june">School#2</option> <!-- Should redirect to site #2 --> 
     </select> 
     <button type="submit" onclick="setCookie()">V&auml;lj</button> 
    </form> 

<script type="text/javascript" language="javascript">  
    function setCookie(cookiename, cookievalue, cookieexdays) { 
     var d = new Date(); 
     d.setTime(d.getTime() + (cookieexdays*24*60*60*1000)); 
     var expires = "expires="+d.toUTCString(); 
     document.cookie = cookiename+ "=" + cookievalue+ "; " + expires; 
    } 

    function getCookie(cookiename) { 
     var name = cookiename+ "="; 
     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); 
      if (c.indexOf(name) == 0) return c.substring(name.length, c.length); 
     } 
     return ""; 
    } 

    function checkCookie() { 
     var school = getCookie("SelectedSchool"); 
     if (school!= "") { 
      //redirect to user to link 
      alert("Welcome to the " + school); 
     } else { 
      user = prompt("Please choose your name:", ""); 
      if (school != "" && school != null) { 
       setCookie("SelectedSchool", school, 365); 
      } 
     } 
    } 
</script> 

ответ

1

Чтобы создать использование куки:

document.cookie="key=value"; 

Чтобы получить значение выбора использования (пример в JQuery):

var val = $("#class").val(); 

Сохранить, что в печенье. Теперь в следующий раз пользователь входит в систему для чтения куки с помощью:

var x = document.cookie; 

и перенаправить его:

location.href = "link"; 

удачи

+0

Спасибо! Извините, но это первый раз, когда я это делаю, это просто скопировать пасту или мне нужно что-то добавить? – boax

+0

Измените ключ на имя того, как вы хотите вызвать cookie. Измените значение на значение, которое вы получите. и, конечно, измените ссылку на страницу, к которой вы хотите перейти. Для получения дополнительной информации проверьте это: http://www.w3schools.com/js/js_cookies.asp – hatzaviv

+0

Хорошо, я сожалею о своем незнании JS, но можете ли вы объяснить каждый шаг? – boax

0

Попробуйте, эти функции JavaScript, которые вы можете использовать для сохранения, проверки или проверки файлов cookie

<head> 
<script> 
<!-- Cookie script --> 
</script> 
</head> 
<body> 
    <form> 
     <select id="class"> 
      <option value="Choose">Choose</option> 
      <option value="flah">School#1</option> <!-- Should redirect to site #1 --> 
      <option value="june">School#2</option> <!-- Should redirect to site #2 --> 
     </select> 
     <button type="submit">V&auml;lj</button> 
    </form> 

    <script type="text/javascript" language="javascript"> 
     function setCookie(cookiename, cookievalue, cookieexdays) { 
      var d = new Date(); 
      d.setTime(d.getTime() + (cookieexdays*24*60*60*1000)); 
      var expires = "expires="+d.toUTCString(); 
      document.cookie = cookiename+ "=" + cookievalue+ "; " + expires; 
     } 

     function getCookie(cookiename) { 
      var name = cookiename+ "="; 
      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); 
       if (c.indexOf(name) == 0) return c.substring(name.length, c.length); 
      } 
      return ""; 
     } 

     function checkCookie() { 
      var school = getCookie("SelectedSchool"); 
      if (school!= "") { 
       //redirect to user to link 
       alert("Welcome to the " + school); 
      } else { 
       user = prompt("Please choose your name:", ""); 
       if (school != "" && school != null) { 
        setCookie("SelectedSchool", school, 365); 
       } 
      } 
     } 
    </script> 
</body> 
+0

Спасибо, но я не могу понять, как это реализовать, я очень плохо разбираюсь в js. – boax

+0

Скопируйте весь этот раздел на страницу html, а затем вызовите эти три функции по мере необходимости. – HaveNoDisplayName

+0

Я скопировал его, как правильно назвать функции? – boax