2015-01-29 2 views
0

Привет, мне было интересно, как отправить ключ, который был нажат на клавиатуре, на страницу результатов, но в фоновом режиме, чтобы пользователь не мог видеть, когда вы отправляете ключ, пока пользователь не называет последняя страница «теста». У меня уже есть функция, которая определяет, какой ключ, которая была нажата, и он отображает кнопку на экране, и это выглядит следующим образом:Отправлять результаты на указанную страницу

document.onkeypress = function(e) { 
    e = e || window.event; 
    var charCode = e.charCode || e.keyCode, 
     character = String.fromCharCode(charCode); 

    consoloe.log(charCode); 

    if(e.charCode == 98 || e.keyCode == 98) { 
     document.write("B = " + charCode + "<br>"); 
    } else if(e.charCode == 114 || e.keyCode == 114) { 
    document.write("R = " + charCode + "<br>"); 
    } 
}; 

Но то, что я хочу, чтобы это сделать, это просто отправить этот без отображения в на следующей странице, как в фоновом режиме, но вместо этого больше нравится показывать ее на странице результатов и сохранять ее там, чтобы пользователь мог видеть результаты после, тест закончен. Вот одна часть теста, так что вы можете увидеть, как она выглядит и на странице результатов, что я хотел бы отправить его по адресу:

Exercise1.html:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset=utf-8 /> 
<title>Exercise1</title> 
<style> 
#first-child { 
    width: 200px; 
    height: 200px; 
    background: white; 
    margin-top: 150px; 
    margin-bottom: 50px; 
    margin-right: 0px; 
    margin-left: 550px; 
    -webkit-animation: myfirst 1s; 
    -moz-animation: myfirst 1s; 
    animation: myfirst 1s; 
} 
@-webkit-keyframes myfirst { 
    0% {background: white;} 
    20% {background: white;} 
    40% {background: white;} 
    60% {background: white;} 
    80% {background: white;} 
    100% {background: red;} 
} 
@keyframes myfirst { 
    0% {background: white;} 
    20% {background: white;} 
    40% {background: white;} 
    60% {background: white;} 
    80% {background: white;} 
    100% {background: red;} 
} 
.first-parent { 
    color: blue; 
    margin-top: 5px; 
    margin-bottom: 50px; 
    margin-left: 600px; 
    margin-right: 0px; 
} 
.second-parent { 
    color: red; 
    margin-top: 0px; 
    margin-bottom: 50px; 
    margin-left: 40px; 
    margin-right: 0px; 
} 
p { 
    margin-left: 640px; 
} 
</style> 
</head> 
<body> 

<div id='first-child'></div> 
<button class="first-parent">B</button> 
<button class="second-parent">R</button> 
<br /> 
<p>1/2</p> 

<script> 
document.onkeypress = function(e) { 
    e = e || window.event; 
    var charCode = e.charCode || e.keyCode, 
    character = String.fromCharCode(charCode); 

    console.log(charCode); 

    if(e.charCode == 98 || e.keyCode == 98) { 
     document.write("B = " + charCode + "<br>"); 
    } else if(e.charCode == 114 || e.keyCode == 114) { 
     document.write("R = " + charCode + "<br>"); 
    } 
}; 
</script> 
</body> 
</html> 

Result.html:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset= utf-8> 
<title>Result</title> 
</head> 
<body> 
<h1>This is the results</h1> 
<script> 

</script> 
</body> 
</html> 

HTML, jQuery и JavaScript - это мое дело, что я не знаю PHP или что-то в этом роде, поэтому никаких PHP-решений нет, и я не могу использовать какое-либо другое решение для нажатия клавиш, потому что это единственное нажатие, которое действует на моем компьютере. Спасибо заранее, мир!

+0

Вы можете хранить их в '' cookies' или локальный storage' – madforstrength

+0

можно использовать локальное хранилище для хранения ключей или отправить их как скрытые входы на странице, сколько страниц вы сохраняете? это только до следующей страницы/ – Billy

+0

Нет, у меня есть 2 упражнения и 50 тестовых страниц – Nikki

ответ

0

Вы можете использовать следующие функции для установки и получения значений печенья в JavaScript:

<script> 
function ll_set_cookie(cname, cvalue, exdays) { 
    var d = new Date(); 
    d.setTime(d.getTime() + (exdays*24*60*60*1000)); 
    var expires = "expires="+d.toUTCString(); 
    document.cookie = cname + "=" + cvalue + "; " + expires; 
} 
function ll_get_cookie(cname) { 
    var name = cname + "="; 
    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) != -1) return c.substring(name.length,c.length); 
    } 
    return ""; 
} 
</script> 

Если вы хотите установить куки просто вызвать функцию как

ll_set_cookie('Q1','A','1')

Где

Q1 is your question number 
A is the selected answer 
And cookie will be stored for 1 day 

Затем на последней странице вы можете получить ответ на каждый вопрос, как:

ll_get_cookie('Q1'); 
+0

Как отобразить cookie? И где я должен это назвать? Я не знаю, как обрабатывать файлы cookie: p – Nikki

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