Ich habe ein Formular, das einige Benutzerdetails annimmt und ihnen ermöglicht, eine Datei hochzuladen. Die Dateinamen und Informationen werden in einer CSV-Datei gespeichert.Löschen Sie ein Formular, das Werte merkt
Wenn der Benutzer nicht alle Felder ausfüllt, werden sie im Formular aufgefordert, sie auszufüllen und es erneut zu versuchen. Ich wollte es die Werte erinnern, der Benutzer eingegeben hat, so dass ich den Standardwert der Formularfelder mit PHP:
value="<?php print $fulltitle;?>"
wo $ fulltitle = $ _POST [ ‚fulltitle‘];
Wenn der Benutzer jedoch etwas erfolglos absetzt, wird das Formular durch Drücken von Zurücksetzen nicht gelöscht, und die vorherigen Versuche werden zurückgegeben.
Wie kann ich die Reset-Funktion funktionieren lassen? In der Reset-Taste habe ich versucht,
onclick="<?php $fulltitle='' ?>"
zu verwenden, aber es scheint keine Wirkung zu haben, denke ich, weil die PHP bereits durch die Zeit, die Sie Reset getroffen verarbeitet wird.
Wer hat irgendwelche Vorschläge?
EDIT:
Danke für die Hilfe, ich löste dies mit einem einfachen reload wie vorgeschlagen. Für alle, die eine Antwort auf das Problem der Suche:
Anstelle einer Reset-Taste setzen I:
<FORM METHOD="LINK" ACTION="resetform.php">
<INPUT TYPE="submit" VALUE="Reset">
</FORM>
In der Datei resetform.php ich habe:
<?php
$firstname = '' ;
$lastname = '' ;
$fulltitle = '' ;
$email = '' ;
// etc.
header("Location: submitfile.php");
?>
wo submitfile. PHP ist die Form
/EDIT
getrimmte Code folgt ...
Rubrik:
<?php
//error_reporting(E_ALL & ~E_NOTICE);
$message = false;
if(isset($_POST['Submit'])){
//user input with commas and < stripped:
$firstname = str_replace("<","",str_replace(",",";",$_POST['firstname']));
//if values missing, dont process:
if(empty($firstname)){
$message = '<span style="color:red;text-align:center;">Please complete all required(*) fields,<br />and check the file has been selected correctly.</span>';
$aClass = 'errorClass';
}
else {
//return data array cvsData from user input
$cvsData = $firstname
fwrite($fp,$cvsData);
fclose($fp);
//reset form
$firstname = '' ;
$message = '<span style="color:blue;text-align:center;">Submission successful, thank you.</span>';
}
}
//if page reloaded, clear form:
else {
$firstname = '' ;
}
?>
Körper:
<form enctype="multipart/form-data" id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>" >
<table>
<?php
if ($message != false)
{
print "<tr><td colspan='2'><span align='center'>" . $message . "</span></td></tr>";
}
?>
<tr>
<td width="200"><span class="texto">*First Name(s)</span></td>
<td><input type="text" name="firstname" id="firstname" value="<?php print $firstname;?>" /></td>
</tr>
<tr>
<td colspan="2">
<div align="center">
<input type="submit" name="Submit" id="Submit" value="Submit"/>
<input type="reset" name="Reset" id="Reset" value="Reset" />
</div>
</td>
</tr>
</table>
Ich bin ziemlich sicher, ein perfektes Betrogene dieser irgendwo gibt. Aber in der Zwischenzeit, siehe: http: // stackoverflow.com/questions/10001844/how-to-reset-a-form-das-verwendet-sticky-values und http://stackoverflow.com/questions/680241/resetting-a-multi-stage-form-with-jquery – NullUserException
Entschuldigung für dupe, ich habe versucht, aber konnte die Frage nicht gut genug in Google Ausdrücken :) – ralph346526