передача значения с одной страницы на другую с помощью JavaScript - PullRequest
0 голосов
/ 17 марта 2012

Как я могу передать значение textarea на новую страницу в соответствии с методом groupwall?
Здесь я просто перенаправляю страницу.Я хочу обновить статус в соответствии с их семестром.
Вот мой код.Дайте мне пример кода или предложите, если это не правильный способ сделать это.

<form action=""   method="get">
    <textarea name="status" id="wall" cols="50" rows="2">                
    </textarea>

    <input name="submit" type="submit" value="share" onclick="groupwall();"/>
</form>

<script type="text/javascript">
    function groupwall(){
        var semster=document.getElementById('txtsamp').value;
        if(semster == "4-1"){
            window.location ='4-1hpage.php';
            //header("location: member-index.php");
        }
        else if(semster =="3-1"){
            window.location ='3-1hpage.php';
        }
        else if(semster == "2-1"){
            window.location ='2-1hpage.php';
        }
        else {
            window.location ='1-1hpage.php';
        }
    }
</script>

Ответы [ 5 ]

1 голос
/ 17 марта 2012

вам лучше разместить контент textarea на вашем сервере и хранить его где-нибудь, даже во время сеанса.причина, по которой я это говорю, заключается в том, что, хотя вы можете передать его в window.location как параметр GET, содержимое текстовой области может быть произвольно длинным и может быть слишком длинным для передачи в качестве параметра GET.вы могли бы рассмотреть AJAX-запрос на размещение текстовой области в контенте, возможно, выполняя проверку перед перенаправлением на следующую страницу вашего приложения.

0 голосов
/ 17 марта 2012
  1. Отправить как параметр через строку запроса yoururl.com?variable=value
  2. Через $_SESSION переменная окружения
  3. Использование куки (если включено)
  4. AJAX - сохранить в базе данных или текстовом файле перед тем, как покинуть страницу, и получить при входе на новую страницу
0 голосов
/ 17 марта 2012
1) do a form post to another PHP page and 
  a) Store it in a database   (If you will really use this in future also)
          OR
  b) Store it in Session Variable
          OR
2) do an ajax post to a server page and 
          OR
  a) Store it in a database
          OR
  b) Store it in Session Variable

Затем с любых страниц PHP вы можете получить доступ к этим значениям.

0 голосов
/ 17 марта 2012

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

4-1hpage.php?data=whatever

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

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

function groupwall() {
    var semster=document.getElementById('txtsamp').value;
    var url;
    if(semster == "4-1") {
        url ='4-1hpage.php';
    } else if(semster =="3-1") {
        url ='3-1hpage.php';
    } else if(semster == "2-1") {
        url ='2-1hpage.php';
    } else {
        url ='1-1hpage.php';
    }
    // encode the data for URL safety and make sure it isn't too long
    window.location = url + "?semster=" + encodeURIComponent(semster.slice(0, 128));
}

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

Другими местами, в которых данные могут временно храниться, чтобы будущая страница могла получить к ним доступ, являются файлы cookieи HTML5 локальное хранилище.Размер cookie-файлов несколько ограничен, и помещать большие данные в файлы cookie неэффективно.Локальное хранилище HTML5 поддерживается не во всех браузерах, поэтому в качестве альтернативы вам обычно нужна альтернативная стратегия.

0 голосов
/ 17 марта 2012

Просто дайте вашей форме идентификатор -
<form id="share-form" ...

Установите действие формы вместо перенаправления

var share_form = document.getElementById('share-form');  
share_form.action = '....';

Отправить форму
share_form.submit();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...