2013-09-17 5 views
1

Можно ли передать totalScorevar на другую страницу onclick, чтобы ее можно было увидеть там? например: нажмите на кнопку отправить ссылку он идет на yourscore.html и показывать счет на страницеПередача var на другую страницу

$("#process").click(function() { 
    var totalScore = 0; 
    $(".targetKeep").each(function(i, tK) { 
     if (typeof($(tK).raty('score')) != "undefined") { 
      totalScore += $(tK).raty('score'); 
     } 
    }); 
    alert("Total Score = "+totalScore); 
}); 
+1

Вы должны были бы добавить его в качестве запроса строковый параметр или, возможно, файл cookie. – CodingGorilla

+0

javascript тег, но вы отправили jQuery –

+1

@Aniket спасибо, я исправил это. – acctman

ответ

2

Пусть мы предположим, что ваш HTML может быть следующим:

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 

    <script> 
    $(document).ready(function(){ 

     $("#process").click(function() { 
     var totalScore = 0; 
     /* 
     Your code to calculate Total Score 
     Remove the next line in real code. 
     */ 
     totalScore = 55; //Remove this 

    alert("Total Score = "+totalScore); 
     $("#submit-link").attr('href',"http://example.com/yourscore.html?totalScore="+totalScore); 
}); 


    }); 
    </script> 

<meta charset=utf-8 /> 
<title>JS Bin</title> 

</head> 
<body> 
    <button id="process">Process</button> 
<br /> 
<a href="#" id="submit-link">Submit Total Score</a> 

</body> 
</html> 

Заканчивать этот DEMO

В yourscore.html вы можете иметь возможность узнать больше в следующем queation для извлечения параметра URL из URL:

Parse URL with jquery/ javascript?

1

Это обычно делается путем изменения URL страницы. то есть, если вы собираетесь перейти на новую страницу, просто сделать:

http://example.com/new/page?param1=test 

Если страница уже существует в новом окне (например, всплывающее окно, что вы владеете), установите URL на что-то новое:

http://example.com/new/page#param 

Открыть окно:

var win = window.open('http://example.com/new/page?totalscore'+totalscore,'window'); 

Изменить местоположение:

win.location.href='http://example.com/new/page?totalscore'+totalscore; 

Другие способы сделать это могут быть websockets или файлы cookie или localstorage в HTML5.

+0

как бы я передал 'totalscore' var до ссылки, это что-то вроде http://example.com/new/score.html?totalscore также как бы захватить totalscore на новой странице? – acctman

+0

это будет выглядеть как http://domain.com/path/to/page?totalscore=1000 – Jason

+0

@acctman Вы можете найти, как обращаться с запросом в этом сообщении http://stackoverflow.com/questions/901115/how-can -i-get-query-string-values ​​ – Warlock

-1

Если вы нацелены на поддержку более современных браузеров, то элегантным решением может быть использование sessionStorage или localStorage! Его чрезвычайно простой и может быть очищен и установлен так, как вам нужно. Максимальный размер на нижнем конце - 2 мб, но если вы сохраняете только INT, тогда вам все будет в порядке.

DOCS: http://www.html5rocks.com/en/features/storage http://dev.w3.org/html5/webstorage/

DEMO: http://html5demos.com/storage

Пример:

addEvent(document.querySelector('#local'), 'keyup', function() { 
    localStorage.setItem('value', this.value); 
    localStorage.setItem('timestamp', (new Date()).getTime()); 
    //GO TO YOUR NEXT PAGEHERE 
}); 
+0

Мне это нравится, потому что переданная информация не появится в http-журнале какого-либо кафе, как GET param ... – dandavis

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