Ich hatte funktionierenden Code, der mein Formular zurücksetzen könnte, wenn ich auf eine Reset-Taste klicken. Doch nach meinem Code wird immer länger, ich merke, dass es nicht mehr funktioniert.
<div id="labels">
<table class="config">
<thead>
<tr>
<th colspan="4"; style= "padding-bottom: 20px; color:#6666FF; text-align:left; font-size: 1.5em">Control Buttons Configuration</th>
</tr>
<tr>
<th>Index</th>
<th>Switch</th>
<th>Response Number</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<form id="configform" name= "input" action="#" method="get">
<tr><td style="text-align: center">1</td>
<td><img src= "static/switch.png" height="100px" width="108px"></td>
<td id="small"><input style="background: white; color: black;" type="text" value="" id="number_one"></td>
<td><input style="background: white; color: black;" type="text" id="label_one"></td>
</tr>
<tr>
<td style="text-align: center">2</td>
<td><img src= "static/switch.png" height="100px" width="108px"></td>
<td id="small"><input style="background: white; color: black;" type="text" id = "number_two" value=""></td>
<td><input style="background: white; color: black;" type="text" id = "label_two"></td>
</tr>
<tr>
<td style="text-align: center">3</td>
<td><img src= "static/switch.png" height="100px" width="108px"></td>
<td id="small"><input style="background: white; color: black;" type="text" id="number_three" value=""></td>
<td><input style="background: white; color: black;" type="text" id="label_three"></td>
</tr>
<tr>
<td style="text-align: center">4</td>
<td><img src= "static/switch.png" height="100px" width="108px"></td>
<td id="small"><input style="background: white; color: black;" type="text" id="number_four" value=""></td>
<td><input style="background: white; color: black;" type="text" id="label_three"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" id="configsubmit" value="Submit"></td>
</tr>
<tr>
<td><input type="reset" id="configreset" value="Reset"></td>
</tr>
</form>
</tbody>
</table>
</div>
Und mein jQuery:
$('#configreset').click(function(){
$('#configform')[0].reset();
});
Gibt es einen Quelltext, den ich in meine Codes einfügen sollte, damit die Methode .reset()
funktioniert? Zuvor habe ich verwendet:
<script src="static/jquery.min.js">
</script>
<script src="static/jquery.mobile-1.2.0.min.js">
</script>
und die Methode .reset()
hat funktioniert.
Derzeit verwende ich
<script src="static/jquery-1.9.1.min.js"></script>
<script src="static/jquery-migrate-1.1.1.min.js"></script>
<script src="static/jquery.mobile-1.3.1.min.js"></script>
Könnte das vielleicht einer der Gründe sein?
$('#configreset').click(function(){
$('#configform')[0].reset();
});
Habe es in JS fiddle eingebaut. Funktioniert wie vorgesehen.
Also, keines der oben genannten Probleme sind hier schuld. Vielleicht haben Sie ein Problem mit einer widersprüchlichen ID? Wird der Klick tatsächlich ausgeführt?
Edit: (weil ich ein trauriger Sack bin, der nicht richtig kommentieren kann) Es ist kein Problem direkt mit Ihrem Code. Es funktioniert gut, wenn Sie es aus dem Kontext der Seite, die Sie derzeit verwenden, so, anstatt es etwas mit dem bestimmten jQuery/Javascript & zugeschrieben Form Daten, es muss etwas anderes sein. Ich würde anfangen, den Code um ihn herum zu halbieren und versuchen, herauszufinden, wo das Problem auftritt. Ich meine, nur um 'sicher zu gehen', ich nehme an, Sie könnten...
console.log($('#configform')[0]);
in die Klickfunktion einfügen und sicherstellen, dass es auf das richtige Formular zielt...
und wenn es das ist, muss es etwas sein, das hier nicht aufgeführt ist.
edit Teil 2: Eine Sache, die Sie versuchen könnten (wenn es nicht richtig zielt) ist die Verwendung von "input:reset" anstelle von dem, was Sie verwenden... auch, i'd vorschlagen, weil es's nicht das Ziel, das's falsch funktioniert, um herauszufinden, was der eigentliche Klick zielt. Öffnen Sie einfach Firebug/Entwicklertools, was auch immer Sie haben, werfen Sie in
console.log($('#configreset'))
und sehen Sie, was auftaucht. und dann können wir von dort aus gehen.
Eine Reset-Taste braucht überhaupt kein Skript (oder einen Namen oder eine ID):
<input type="reset">
und Sie sind fertig. Aber wenn Sie wirklich muss Skript verwenden, beachten Sie, dass jedes Formular-Steuerelement eine form-Eigenschaft hat, die das Formular referenziert, in dem es ist, so könnten Sie tun:
<input type="button" onclick="this.form.reset();">
Aber eine Reset-Schaltfläche ist eine weitaus bessere Wahl.