Warum sollten Formularelemente nicht mit submit benannt werden?

Durch das Debuggen habe ich herausgefunden, dass ich keine Formularelemente benennen solltename="submit", aber selbst nach der Suche habe ich keine gute Erklärung dafür gefunden, warum?

Siehe einfaches Codebeispiel unten:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <form action="javascript:alert('submitted');" method="post" id="test-form">
            <label>Name</label>
            <input type="text" name="name-field" value="" />
            <input type="submit" name="submit" value="Submit Button" /> <!-- name should not be "submit" -->
            <p><a href="javascript: document.getElementById('test-form').submit();">Submit Link</a></p>
        </form>
    </body>
</html>
Wenn duDrücken Sie Enter während auf einem Formularelement oderKlicken dasSubmit Button, es wird klappen.

Wenn duKlicken auf derLink sendenwird es fehler haben

Unbehandelter Fehler: 'document.getElementById (' test-form '). Submit' ist keine Funktion

Wenn du einfachumbenennen IhreSubmit Button zu etwas anderem alsname="submit" (auch wenn Sie nur einen Teil davon groß schreiben) oder einfachLöschen dasname="submit" Attribut, dann beideSubmit Button undLink senden wird funktionieren.

Ich habe dies in der neuesten Version von Internet Explorer, Firefox, Opera, Chrome und Safari versucht. Sie alle haben diesbezüglich ein einheitliches Verhalten.

Wie Sie in meinem Codebeispiel sehen können, gibt es keine Beteiligung von jQuery oder einer anderen JavaScript-Bibliothek.

Ich würde mich über eine Erklärung freuen. Vielen Dank

Antworten auf die Frage(3)

Ihre Antwort auf die Frage