Wie senden Sie das Formular auf Tastendruck?
Ich diese Skript zur Suche in statische Seite
Aber ich wollen, dass diese für die Suche geben, wenn ich in der Texteingabe-und nicht, wenn ich auf die Schaltfläche klicke, ich searchd und ich fand, dass jede dieser funktionieren würde:
onkeypress="this.submit();"
onkeyup="this.submit();"
onkeypress="document.forms["f1"].submit();"
onkeyup="document.forms["f1"].submit();"
aber keiner von Ihnen arbeitet
ich die gleiche html mit dem script ist
<form id="f1" name="f1" action="javascript:void()" onsubmit="if(this.t1.value!=null && this.t1.value!='')parent.findString(this.t1.value);return false;">
<input type="text" id="t1" name="t1" value="Search" onfocus="if(this.value=='Search')this.value='';" size="20" onkeypress="this.submit();" />
<input type="submit" name="b1" value="Find" />
</form>
- action="javascript:void()"...
- was ist Los mit diesem?
- chrome gibt mir eine Fehlermeldung, wenn ich
void()
versuchenvoid(0)
, indem eine Antwort mit kompletten code. - Was ist eigentlich passiert und was erwartest du, was passiert?
- ich habe keine Ahnung, was diese "leere" führt, wurde der code kopieren-einfügen vom html-Code der script-Webseite
- Der void-operator wertet den angegebenen Ausdruck aus und dann gibt Sie undefined zurück. Der void-operator wird Häufig verwendet nur zu erhalten, den undefinierten primitiven Wert, in der Regel mit "void(0)" (was gleichbedeutend ist mit "void 0"). In diesen Fällen, wird die Globale variable undefined stattdessen verwendet werden kann (vorausgesetzt, es wurde nicht zugeordnet, nicht-Standard-Wert).
Du musst angemeldet sein, um einen Kommentar abzugeben.
form.submit() nicht ausgelöst werden "onsubmit". Sollten Sie implementieren eine Funktion statt.
Ihre onkeyup Skript ist counter-intuitive, aber, da Sie den text onkeyup erfordert Verwischung der textbox den Fokus.
Erstellt einen test mit Ihren snippets, die Anrufe
findString(this.value);
anstelle von submit:http://jsfiddle.net/e9Esz/
Javascript:
findString(this.value);
Aber die Logik davon ist, wählen Sie den text, sobald der Benutzer eingibt. Das bedeutet, dass, sobald der Benutzer einen Brief, das Textfeld den Fokus verliert. (Ständiger Kampf um die Eingabe eines Buchstaben.) Alternativ können Sie wickeln den text in ein span mit der css-Klasse zur Simulation einer "Auswahl", aber ich werde nicht darum gehen, in, die, ohne jQuery.Haben Sie ein Zitat problem! Die Farbcodierung hier zeigt es!
Den füllen auf die form, nicht das element, also warum
this.submit
ausfällt.Müssten Sie
Vielleicht sollten Sie die Methode addEventListener() zu zuteilen.
Außerdem hast du einen Tippfehler. Es wäre besser, verwenden Sie einfache Anführungszeichen für Beginn/Ende von strings, so dass inline-doublequotes sind kein problem (Umgekehrt).
Und auf " Formular senden via Javascript:
legt die erste form.
Als Tom sagte, ruft
form.submit()
löst keine der onsubmit-Handler. Der onsubmit-Handler nur aufgerufen, wenn das Formular abgeschickt wird manuell. Deshalb, wenn Sie versuchen, um das Formular Absenden, manuell, überprüfen Sie Ihre Fehler auf eigene Faust.HTML
JS
Having said all dies, wenn Sie gerade ein
findString
das war ein bisschen schlauer, dann würde Sie nur rufen Sie es von beiden Orten, und es ignorieren wenn leer