Как я могу сохранить значение поля ввода без изменений, переключаясь между веб-страницами и не используя URL - PullRequest
0 голосов
/ 29 марта 2020

Я использую две кнопки для переключения между страницами. Кнопка А на странице 1 отправляет меня на страницу 2. На странице 2 у меня есть другая кнопка, которая является кнопкой B. Эта кнопка снова отправляет меня на страницу 1. Я делаю это много раз.

На странице 1 у меня есть ввод (textarea), который я заполнил перед нажатием кнопки A. Я хотел бы сохранить значение в этом вводе (на странице 1) во время перехода и передачи данных. между двумя страницами.

Я мог бы также изменить свой ввод на странице 1, когда возвращаюсь со страницы 2.

Я не хочу использовать URL. Я уже использовал его для других целей.

Я также пробовал это, но это не работает.

Это страница 1. php

<textarea name="textarea" id="textarea">
  <?php if(isset($_POST['textarea'])) { 
         echo $_POST['textarea']; ?>
</textarea>
<a href="page2.php" id="button1"> Button A </a>

и более поздняя страница 2. php

<a href="page1.php">Button B </a>

Когда я делаю это с SESSION, он становится пустым, когда я прихожу вернуться на страницу 1.

Затем я попробовал использовать ajax. -> на странице 1. php

<?php
if(isset($_POST['actual_val']) and strlen($_POST['actual_val'])>5) 
{
   echo $_POST['actual_val'];
}else{
   echo "nothing";
}
?>
<html>
     <textarea name="textarea" id="textarea"><?php if(isset($_POST['actual_val'])) { 
         echo $_POST['actual_val']; }//closing brace of if
?></textarea>
     <a href="page2.php" id="button1"> Button A </a>

<script>
$(document).ready(function(){
     $('#button1').on('click',function(){ 
        var input_val = $('#textarea').val();
        var ajaxurl = 'page2.php';
        data = {"input_val":input_val};
        $.post(ajaxurl, data, function (response) {
            // Response div goes here.
        });
    });
});
</script>
//Until here it seems to works fine. 
</html>

Теперь на странице 2. php

<?php 
if(isset($_POST['input_val'])) 
{
   echo $_POST['input_val'];
}else{
   echo "nothing";
}
?>

<html>
<a href="page1.php" id="button2"> Button B </a>

<script>
$(document).ready(function(){
     $('#button2').on('click',function(){ 
        var actual_val= <?php echo $_POST['input_val']; ?>;
        var ajaxurl = 'page1.php';
        data = {"actual_val":actual_val};
        $.post(ajaxurl, data, function (response) {
            // Response div goes here.
        });
    });
});
</script>
</html>

что бы мне не хватало? Заранее спасибо

1 Ответ

0 голосов
/ 29 марта 2020

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

page1. php

<?php
if(isset($_POST['actual_val']) and strlen($_POST['actual_val'])>5) 
{
   echo $_POST['actual_val'];
}else{
   echo "nothing";
}
?>
<html>
	<head>
	</head>
	<body>
		<form action="page2.php" method="post">
			<textarea name="input_val" id="textarea">
			<?php if(isset($_POST['actual_val'])) { 
			echo $_POST['actual_val']; }?>
			</textarea>
			<button type="submit" href="" id="button2"> Button A </button>
		<form>
<script>

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

стр.2. php

<?php 
if(isset($_POST['input_val'])) 
{
   echo $_POST['input_val'];
}else{
   echo "nothing";
}
?>
<html>
	<body>
		<form action="page1.php" method="post">
		<input type="hidden" name="actual_val" value="<?php if(isset($_POST['input_val'])) { 
			echo $_POST['input_val']; }?>">
			<button type="submit" href="" id="button2"> Button B </button>
		<form>
	</body>
</html>

Объяснение: Здесь я только что использовал скрытый входной файл HTML и снова при перенаправлении на страницу 1. php, я отправляю значение обратно с другими значениями.

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