2012-02-02 4 views
2

У меня есть HTML-страница, содержащая форму, состоящую из; текст, флажки и выпадающие меню.Сессионные файлы cookie и HTML-формы

по завершении пользователь нажимает отправить и отправляется на новую страницу, на этой странице у меня есть JavaScript, который выполняет некоторый анализ на входах и затем записывает свои результаты.

ПРОБЛЕМА: перенесения формы входа на следующую страницу, мне нужно, чтобы иметь возможность получить доступ к форме входа на следующей странице,

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

Итак, в настоящий момент я думаю, что лучший способ сделать это - с помощью cookie сеанса.

Однако я борюсь с кодом для хранения всех входных данных формы в файл cookie, а затем, как получить к ним доступ на второй странице.

Любая помощь была бы принята с благодарностью! или любые идеи по другим методам для выполнения этой задачи!

Спасибо!

ответ

2

Если вам не нужно ничего делать на стороне сервера, вы можете отправить форму с помощью method='GET', а не POST. Таким образом, входы будут доступны в URL-адресе и могут быть проанализированы в вашем JavaScript.

Например:

<html> 
    <script type='application/javascript'> 
    var search = location.search; 
    var parts = search.slice(1).split('&'); // Need to slice to remove initial '?' 
    for (var i=0; i < parts.length; ++i) 
    { 
     var info = parts[i].split('='); 
     var variable = info[0]; 
     var value = info[1]; 
     document.write("<p>" + variable + " = " + value + "</p>"); 
    } 
    </script> 
    <form method='GET'> 
    <input type='text' name='name'> 
    <input type='checkbox' name='chosen'> 
    <input type='submit' value='Go'> 
    </form> 
</html> 
+0

Это, хотя это зависит от того, длина формы (или, скорее, длина информации, которая может быть введена в форму). – Anonymous

+0

Я пробовал это, а затем использовал метод .substring для получения результатов, но проблема заключалась в том, что с текстовыми вводами длина ввода менялась каждый раз, поэтому не удалось указать, где в строке указаны конкретные входы – BradStevenson

+0

Это правда - вы должен быть немного умным в анализе URL-адреса. Я изменил свой ответ, чтобы показать некоторый (очень рудиментарный) синтаксический анализ. –

0

Вы можете кодировать свои данные внутри сериализованного объекта (JSON) или используя строки с urlencoded (например, var1 = test & var2 = true). Сохраните эту строку в файл cookie, и вы можете использовать его на следующей странице.

1

Быстрый Google придумал этот http://www.fijiwebdesign.com/blog/remembering-form-input-data-with-javascript-and-cookies-before-submission.html

Это должно дать хорошее представление о том, как сделать это

+0

Я видел это руководство, и это дает большое руководство для стороны JavaScript, но я немного боролся с какой точкой каждой функция должна быть вызвана – BradStevenson