Ich habe ein Formular mit zwei Optionsfeldgruppen. Wenn Optionen in jeder Gruppe ausgewählt werden, bleiben sie ausgewählt und ändern ihre Farbe, um anzuzeigen, dass sie ausgewählt wurden. Wenn ich jedoch versuche, das Formular mit der Taste löschen Filter zurücksetzen, passiert nichts.Löschen Optionsfelder eines übermittelten Formulars
Ich möchte das Formular für den Benutzer angezeigt, wie es beim ersten Mal geladen (keine Auswahl, keine Farbänderung - nur gelöscht.), Irgendwelche Ideen?
Ich benutze den onclick: "javascript: submit()" anstelle eines Senden-Knopfes, vielleicht verursacht dies ein Problem?
Der Code:
<form action="" method="post">
<p>Date:</p>
<input type="radio" name="dateorder" onclick="javascript:submit()" value="dateasc" autocomplete="off" <?php if (isset($_POST['dateorder']) && $_POST['dateorder'] == 'dateasc') echo ' checked="checked"';?> /> <label for="dateasc">Newest › Oldest</label>
<br>
<input type="radio" name="dateorder" onclick="javascript:submit()" value="datedesc" autocomplete="off" <?php if (isset($_POST['dateorder']) && $_POST['dateorder'] == 'datedesc') echo ' checked="checked"';?> /> <label for="datedesc">Oldest › Newest</label>
<hr><br>
<p>Title:</p>
<input type="radio" name="title" onclick="javascript:submit()" value="Mr" <?php if (isset($_POST['title']) && $_POST['title'] == 'Mr') echo ' checked="checked"';?> /><label for="Mr">Mr</label>
<br>
<input type="radio" name="title" onclick="javascript:submit()" value="Mrs" <?php if (isset($_POST['title']) && $_POST['title'] == 'Mrs') echo ' checked="checked"';?> /><label for="Mrs">Mrs</label>
<br>
<input type="radio" name="title" onclick="javascript:submit()" value="Miss" <?php if (isset($_POST['title']) && $_POST['title'] == 'Miss') echo ' checked="checked"';?> /><label for="Miss">Miss</label><br><br>
<p class="clear">Clear Filters<p>
</form>
Dies sind die Methoden, die ich bisher versucht haben:
Methode 1: das Formular auf den Button Standard html Reset Gave nur vor dem schließenden Formular-Tag.
Methode 2: Added diese Zeile kurz vor dem Schließen Formular-Tag:
<input type="button" onclick="myFunction()" value="Reset form">
hinzugefügt dieses Skript nach dem Schließen Formular-Tag:
<script>
function myFunction() {
document.getElementById("myForm").reset();
}
</script>
Methode 3: Innerhalb Das Body-Tag wurde hinzugefügt <body onload="document.refine.reset();">
und gab dem Formular den Namen verfeinern.
Methode 4: Set Eingabefelder
Danke Shaggy, ich fand das die beste Lösung und es funktionierte so, wie ich es wollte. –