it-swarm.com.de

Die Schaltfläche "Senden" funktioniert nicht

Ich habe ein Formular mit <input type="submit". In Chrome einreichen tut nichts. Auf einem "Netzwerk" in Tab in Entwickler-Tools sehe ich nichts. Keine Fehler in den Entwicklertools. Wenn ich inzwischen eine Seite speichere und eine gespeicherte Seite öffne, wird nach dem Drücken der Schaltfläche "Senden" etwas auf der Registerkarte "Netzwerk" angezeigt. Dies geschieht in Chrom und Firefox. Dies funktioniert erwartungsgemäß in IE. 

Hat jemand einen Rückblick, worauf muss ich achten?

EDIT: Ich brauche keine direkte Antwort, ich muss nur wissen, wo ich hinschauen soll. Wenn jemand eine Richtung schreibt und das mir helfen wird, mein Problem zu lösen, akzeptiere ich es als richtige Antwort.

EDIT2: Die Struktur einer Seite sieht folgendermaßen aus:

html
    head
    body
        div
        div
            form
            form
            form
            form
            form
                input
                input
                table
                table
                    tbody
                        tr..td..input type=submit

EDIT3: Wir fanden das eigentliche Problem. In einer Seite befand sich ein Link, der href="#" enthielt. Nachdem Sie auf diesen Link geklickt hatten, hörte das Senden auf, weil # am Ende der URL hinzugefügt wurde und weil action des Formulars leer war URI wurde von der aktuellen URI abgerufen, die # an der Stelle enthielt, sodass der Browser, anstatt ihn zu senden, eine aktuelle Seite aufgerufen hat.

12
dhblah

Wenn Sie kein JavaScript/jquery zur Formularvalidierung verwenden, würde ein einfaches Layout für Ihr Formular so aussehen.

im Hauptteil Ihres HTML-Dokuments:

<form action="formHandler.php" name="yourForm" id="theForm" method="post">    
    <input type="text" name="fname" id="fname" />    
    <input type="submit" value="submit"/>
</form>

Sie müssen sicherstellen, dass die Schaltfläche "Senden" innerhalb der Formular-Tags vorhanden ist und eine entsprechende Aktion zugewiesen ist. Wie das Senden an eine PHP-Datei. 

Um eine direktere Antwort zu erhalten, geben Sie den Code an, mit dem Sie arbeiten. 

Möglicherweise finden Sie Folgendes: http://www.w3.org/TR/html401/interact/forms.html

13
lukeocom

Verwenden Sie HTML5? Wenn ja, prüfen Sie mit der Eigenschaft required, ob Sie <input type="hidden"> in Ihrem Formular haben. Entfernen Sie diese required-Eigenschaft. Internet Explorer nimmt diese Eigenschaft nicht in Anspruch, daher funktioniert es, Chrome jedoch. 

14
Jyothu

Prüfen Sie, ob Sie auf der Seite eine Art Jquery/Javascript-Validierung verwenden. Deaktivieren Sie sie und sehen Sie, was passiert. Sie können die Entwicklertools Ihres Browsers verwenden, um festzustellen, ob eine Javascript-Datei mit Validierung oder Validierung geladen wird. Sie können auch nach ausgeblendeten Formularelementen suchen (z. B. wenn der Stil für die Anzeige festgelegt ist: none; oder ähnliches), und sicherstellen, dass es keinen ausgeblendeten Überprüfungsfehler für die nicht gerenderten Elemente gibt.

4
Dan Csharpster

Ich bin heute mit diesem Problem konfrontiert und das Problem war, dass ich die Standardaktion von Ereignissen im Dokument onclick verhindere:

document.onclick = function(e) {
    e.preventDefault();
}

Das Dokument onclick wird normalerweise für die Ereignisdelegation verwendet. Es ist jedoch falsch, die Standardeinstellung für jedes Ereignis zu verhindern. Sie müssen dies nur für erforderliche Elemente tun:

document.onclick = function(e) {
    if (e.target instanceof HTMLAnchorElement) e.preventDefault();
}
3
Ali

Ich bin auf den HTML-Code eines Freundes gestoßen, und in seinem Fall fehlten ihm Anführungszeichen.

Zum Beispiel:

<form action="formHandler.php" name="yourForm" id="theForm" method="post">    
<input type="text" name="fname" id="fname" style="width:90;font-size:10>     
<input type="submit" value="submit"/>
</form>

In diesem Beispiel wird ein fehlendes Anführungszeichen für den Eingabetext fname einfach dazu führen, dass die Schaltfläche "Senden" nicht mehr verwendet werden kann und das Formular nicht gesendet wird.

Natürlich ist dies ein schlechtes Beispiel, weil ich CSS in erster Linie verwenden sollte;) Überprüfen Sie auf jeden Fall alle Ihre einfachen und doppelten Anführungszeichen, um zu sehen, ob sie richtig schließen.

Wenn Sie Tags wie center haben, verschieben Sie sie auch aus dem Formular.

<form action="formHandler.php" name="yourForm" id="theForm" method="post">  
<center> <-- bad

So seltsam es auch erscheinen mag, es kann Auswirkungen haben.

1
Adron

Hallo aus der Zukunft.

Der Klarheit halber wollte ich nur hinzufügen (da dies bei google ziemlich hoch war) - können wir jetzt verwenden 

<button type="submit">Upload Stuff</button>

Und ein Formular zurücksetzen

<button type="reset" value="Reset">Reset</button>

Check-Out-Taste Typen

Wir können auch Schaltflächen anbringen, um Formulare wie this : einzureichen.

<button type="submit" form="myform" value="Submit">Submit</button>

0
MattJHoughton