onchange diese.form.submit() funktioniert nicht für web-form
schon viel zu lange...aber kann nicht scheinen, um das problem zu identifizieren. Schon Lesen Dutzende von Artikeln auf stackoverflow und anderswo.
wenn ich auf und ändern Sie den Wert, es spielt keine auto-submit:
<form id="orderbyfrm" name="orderbyfrm" action="http://staging.whiterabbitexpress.com/" method="post" class="orderbyfrm">
<input name="s" value="<?php echo $wre_search_txt?>" type="hidden">
<label for="orderby" class="sortByLabel">Sort by </label>
<select class="sortByDropdown" name="orderby" id="orderby" onchange="this.form.submit();">
<option value="Relevance">Relevance</option>
<option value="likes" selected="selected">Likes</option>
<option value="comments" selected="comments">Comments</option>
</select>
</form>
in Chrom-Inspektor sehe ich einen Fehler
"Uncaught TypeError: Cannot call method "senden " null" onchange
Ich habe auch versucht onchange="javascript:document.orderbyfrm.senden" aber das hat nicht funktioniert entweder.
- könnte ein problem des Umfangs. Überprüfen Sie den Bereich der
this
- Ich habe auch versucht onchange="javascript:document.orderbyfrm.senden" aber das hat nicht funktioniert entweder. nicht sicher, wie Sie Sie um den Bereich zu ändern 'dieser'. wenn dieser Bereich falsch ist, ist eine Abhilfe?
- sind Sie sicher, dass Sie eingefügt haben genau die gleiche form? diese form hat keine Probleme ..
- Achar, Problem nicht in den Geltungsbereich des
this
denn im Ereignis-code, der in Attribut definiertthis
immer Punkt-zu-element.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wahrscheinlich haben Sie element oder ein JS-Objekt namens
form
odersubmit
irgendwo, in Konflikt mit der realen form.Meiste sichere Weg ist die Verwendung document.getElementById:
Und die JavaScript:
Weiter Debuggen mit der guten alten alert - .. statt der
alert("DEBUG ...
haben diese:Je nachdem, was Sie bekommen, zu Debuggen, sollte fortgesetzt werden.
alert(document.forms.length);
was bekommen Sie?orderbyfrm
nun in der Liste?submit
Taste"submit"
- und das war das problem. Wie Sie vorgeschlagen wurde, war dies die Verhinderung derthis.form.submit()
von der Ausführung wie erwartet. Umbenannt habe ich den submit-button und den javascript-Teil gearbeitet. Verlassen diesen Kommentar, da es nützlich sein kann, um später andere mit diesem gleichen problem.sorry, Jungs! Ich habe das problem gefunden. Ich hatte ein gebrochenes div um das Formular
behoben:
Wirklich zu schätzen Ihre Hilfe an alle!