【发布时间】:2017-03-04 13:34:01
【问题描述】:
我正在寻找一种在同一代码中进行不同提交后保留表单值的方法。
为了在第一次提交后保留文本,我使用了:
value="<?php echo isset($_POST['Modellocerca']) ? $_POST['Modellocerca'] : '' ?>" name="Modellocerca"
但是,在第二次提交“Cerca”后,我丢失了表单中的文本。 我真的很努力,但我需要你们的帮助。
<html>
<link href="Stile/TMO.css" rel="stylesheet" type="text/css" />
<header>
<!-- MENU NOT RELEVANT -->
<ul>
<li><a href="Benvenuto.php">Home</a></li>
<li class="sottomenu">
<a href="javascript:void(0)" class="dropbtn">Importa</a>
<div class="sottomenu-content">
<a href="Importa.php">Sk. Reali</a>
</div>
</li>
<li><a href="">Esporta</a></li>
<li id="Logout"> <a href="Logout.php"> Logout</a> </li>
</ul>
</header>
<body>
<!-- FIRST FORM WITH FIRST SUBMIT BUTTON -->
<h3>Motore di ricerca</h3>
<form action="" method="POST" >
Modello: <input type="text" value="<?php echo isset($_POST['Modellocerca']) ? $_POST['Modellocerca'] : '' ?>" name="Modellocerca" />
<input type="submit" value="Cerca" Name="Cerca" /> <!-- First problem -->
</form>
<!-- PHP RELATED TO FIRST SUBMIT -->
<?php
include('session.php');
if(isset($_POST['Cerca']))
{
$Modellocerca="%";
if ($_POST['Modellocerca'] != null) {$Modellocerca = $_POST['Modellocerca'];};
$sql=("SELECT DISTINCT `MODELLO`, `ODM` FROM `DBMB`.`TMO` WHERE `MODELLO` LIKE '%" . $Modellocerca . "%'");
$sql_cerca = $db->prepare($sql);
$sql_cerca->execute();
$auxmod="start";
foreach($db->query($sql) as $row)
{
if($auxmod!=$row['MODELLO'] || $auxmod=="start") {
$Combomod = $Combomod . ('<option>' . $row['MODELLO'] . '</option>');
$auxmod=$row['MODELLO'];};
};
$sqlcerca=null;
};
?>
// PLOT INTO SELECT BOX THE SEARCH RESULTS AND SECOND SUBMIT FOR LOAD DATA AFTER SELECT THE RESULT
<form action="" method="POST" >
<h3>Odm Filtrati</h3>
<!-- Modello -->
Modello: <select name="Modellocombo">
<?php
var_dump ($Combomod);
?> </select>
<input type="submit" name="Carica" value="Carica" > <!-- Second problem -->
</form>
【问题讨论】:
-
检查post值是否存在,直接回显到表单中
-
如果您认为大块代码无关紧要,请不要将其包含在帖子中,随意编辑和删除它。如果您包括最低限度的必要条件,将帮助人们回答
标签: javascript php html forms submit