Javascript 如何在页面刷新时保留随机生成的HTML文本字段的值?
我在运行时创建HTML文本,就像下面的代码一样Javascript 如何在页面刷新时保留随机生成的HTML文本字段的值?,javascript,php,html,Javascript,Php,Html,我在运行时创建HTML文本,就像下面的代码一样 <?php session_start(); for(var i=1;i<=10;i++) { ?> <div id="mainDiv<?php echo $i; ?>"> <input type="text" id="myText<?php echo $i; ?>"> <button type="button" id="myButto
<?php
session_start();
for(var i=1;i<=10;i++)
{
?>
<div id="mainDiv<?php echo $i; ?>">
<input type="text" id="myText<?php echo $i; ?>">
<button type="button" id="myButton<?php echo $i; ?>" onclick="myButtonClicked()">Click Me</button>
</div>
<?php
}
?>
您可以使用locaStorage
api在页面刷新后通过存储/访问/从本地存储保留用户输入。
setItem()
和getItem()
分别用于存储和从本地存储获取项目
示例
此html将由php创建
<input type="text" id="text1" value="" />
<button type="button" id="myButton1" onclick="myButtonClicked('text1')">Click Me</button>
<input type="text" id="text2" value="" />
<button type="button" id="myButton1" onclick="myButtonClicked('text2')">Click Me</button>
//like this other input and button will be created.
我不知道这是否能帮到你
但您可以通过提交给php_self的表单实现您想要的
<?php
//create blank array for storing text box values
for($i=1;$i<=10;$i++){
$textValue[$i]='';}
//if page reached via submission of button, store posted text box values in array
if(isset($_POST['myButton'])){
for($i=1;$i<=count($textValue);$i++){
$textValue[$i]=$_POST['myText'.$i];}}
?>
<!--create form that submits to same page-->
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post" enctype="multipart/form-data" name="main">
<?php
//loop creates text boxes and buttons while getting text box default values from $textValue Array
for ($i=1;$i<=count($textValue);$i++){
echo '<div id="mainDiv'.$i.'">
<input type="text" id="myText'.$i.'" name="myText'.$i.'" value="'.$textValue[$i].'"/>
<button id="myButton'.$i.'" name="myButton" value="myButton'.$i.'">Click Me</button>
</div>
';}
?>
</form>
因此,当您刷新页面时,这些值将重置为默认值。您希望在用户在文本字段中输入一些文本时存储这些值,以便下次用户刷新页面时显示这些值。您需要做的是在用户每次输入值时向服务器发送带有值的ajax请求,或者将值存储在cookie中,以便在页面刷新后检索。@JoshuaKissoon-cookies是更好的选择,但我是否需要在循环中创建它们?否,因为textfields最初没有值,当用户在文本字段中输入一些文本时,您需要创建它们;可能每次他们输入字符时,另一个选项可能是localStorage
@SumanBogati-你能用一些代码片段详细说明一下吗?
<?php
//create blank array for storing text box values
for($i=1;$i<=10;$i++){
$textValue[$i]='';}
//if page reached via submission of button, store posted text box values in array
if(isset($_POST['myButton'])){
for($i=1;$i<=count($textValue);$i++){
$textValue[$i]=$_POST['myText'.$i];}}
?>
<!--create form that submits to same page-->
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post" enctype="multipart/form-data" name="main">
<?php
//loop creates text boxes and buttons while getting text box default values from $textValue Array
for ($i=1;$i<=count($textValue);$i++){
echo '<div id="mainDiv'.$i.'">
<input type="text" id="myText'.$i.'" name="myText'.$i.'" value="'.$textValue[$i].'"/>
<button id="myButton'.$i.'" name="myButton" value="myButton'.$i.'">Click Me</button>
</div>
';}
?>
</form>