2016-06-04 15 views
0

Ich habe eine Menge verschiedener Methoden ausprobiert, um dies zu tun, aber keine wirkten tatsächlich irgendwelche Vorschläge? DankDiv nicht einreichen Formular

<div name="login" class="blue_button" onclick=" 
document.getElementById("form").submit();"><div class="blue_button_text noselect">Login</div></div> 
+0

Warum verwenden Sie ein div als Schaltfläche? Das ist ein Fehler bei der Barrierefreiheit dieser Tastatur - nur Benutzer können Ihre Seite nicht verwenden. Wie auch immer, können Sie bitte den HTML-Code für Ihr Formular anzeigen? – nnnnnn

+0

@nnnnnn weil sonst mein Button nicht gut aussehen wird, wird der Text den Speicherort auf der Schaltfläche ändern und es ist nervig. Warum willst du meine Form sehen? – sum1hor

+0

Ich wollte dein Formular sehen, weil ich mich gefragt habe, ob es ein Problem damit gibt. Ich habe inzwischen erkannt, dass das kein Problem war und habe eine Antwort geschrieben. Wenn der Button nicht gut aussieht und "nervig" ist, wird er für Leute, die physisch nicht in der Lage sind, eine Maus oder ein anderes Zeigegerät zu verwenden, noch ärger. Wenn Sie das Gefühl haben, dass Sie * dies tun müssen, dann fügen Sie dem Div ein 'tabindex'-Attribut hinzu und einen Key-Event-Handler, damit es sich wie eine echte Schaltfläche verhält. – nnnnnn

Antwort

0

Sind Sie sicher, dass Sie das Formular mit dem <form> deklariert haben Etikett? Versuchen Sie außerdem, das Tag der Übermittlungsschaltfläche von <div> zu <button> oder <input> zu ändern. Macht semantisch mehr Sinn.

1

Das Problem ist, dass Sie doppelte Anführungszeichen zu verwenden, habe versucht, für Ihr Element und für die Stringliteral in Ihrer JS-Attribute. So wird Ihr onclick Attribut als onclick="document.getElementById(" gelesen, wobei der form").submit();" Teil übrig bleibt.

Ändern Sie die innere doppelte Anführungszeichen zu einfachen Anführungszeichen Zeichen und es wird funktionieren (vorausgesetzt, Sie ein Formular mit id="form" haben):

onclick="document.getElementById('form').submit();" 
+0

gerade versucht es, funktioniert nicht – sum1hor

+0

Dann muss es ein anderes Problem mit Code nicht angezeigt werden. Ihr Formular * hat * id = "form", ja ?. Der Code, den du gezeigt hast, funktioniert, wenn du die Anführungszeichen korrigierst, wie du hier sehen kannst: https://jsfiddle.net/ju8r6ptj/ – nnnnnn

+0

Yup es ist das, komisch ist da weg, ich kann das mit CSS machen? – sum1hor