Ankündigung

Einklappen
Keine Ankündigung bisher.

Formular umgeht onsubmit und geht gleich in den Submit obwohl return false... :(

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Formular umgeht onsubmit und geht gleich in den Submit obwohl return false... :(

    Hallo.

    Obwohl ich mit Brackets (so sagt er mir) einen richtigen Code geschrieben habe (also wird es daran nicht liegen), submitet mein Programm schon beim Schließen des 1. Alerts, obwohl return false. ...

    Code:
    function dashboardFormular() {
        "use strict";
        if (document.dashboard.item_name.value === "") {
            window.alert("Bitte einen Titel bzw. die Art der Beschäftigung eingeben!");
            document.dashboard.item_name.focus();
            return false;
        }
        if (document.dashboard.on1.value === "") {
            window.alert("Bitte einen Tag festlegen!");
            document.dashboard.on1.focus();
            return false;
        }}...
    Und der HTML Code:

    HTML-Code:
    <Form name="dashboard" onsubmit="return dashboardFormular()" action="https://www.paypal.com/cgi-bin/webscr" method="post" >
        <input class="input" id="in" type="text" name="item_name" placeholder="Titel / Beschäftigungsart" maxlength="123">
        <br><br> ...
    Bin für jede Hilfe Dankbar. Gruß

    Christian

  • #2
    JavaScript-Code hat in HTML-Code nichts verloren. Schreibe JavaScript-Code ausschließlich in JavaScript-Dateien.

    Poste bitte ein vollständiges Beispiel, bei dem das Fehlverhalten nachvollziehbar auftritt. z.B. in JSFiddle.

    Kommentar


    • #3
      Es hat sich als nützlich erwiesen die id und das name Attribut gleich zu benennen und mit dem Attribut required kannst du dir das Javascript auch einsparen, dann macht das der Browser sogar sprachübergreifend für dich.

      Kommentar


      • #4
        Und denk auch immer dran.. JS kann man ganz leicht im Browser deaktivieren, manipulieren, etc.. etc..
        The string "()()" is not palindrom but the String "())(" is.

        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          https://jsfiddle.net/4j79xd33/

          Hab ich vielleicht doch falschen Javascript Code?

          Muss die Prüfung auf Inhalt bei Select Optionen anders geschrieben werden?

          Die Js Datei habe ich bereits ausgelagert...

          Kommentar


          • #6
            Zitat von king-ich Beitrag anzeigen
            Die Js Datei habe ich bereits ausgelagert...
            Du hast immer noch JavaScript-Code im HTML-Code:
            HTML-Code:
            onsubmit="dashboardFormular()"
            Und die ganzen <br> haben da auch nichts verloren. Fürs Layout ist CSS zuständig.

            HTML-Code:
            <form id="dashboard" name="dashboard" action="https://www.paypal.com/cgi-bin/webscr" method="post">
                <input class="input" id="item_name" type="text" name="item_name" placeholder="Titel / Beschäftigungsart" maxlength="123">
                <label>Tag der Arbeit:</label>
                <select id="day" name="day">
                    <option value="">Tag</option>
                    <option value="01">01</option>
                    <option value="02">02</option>
                    <option value="03">03</option>
                    <option value="04">04</option>
                    <option value="05">05</option>
                    <option value="06">06</option>
                    <option value="07">07</option>
                    <option value="08">08</option>
                    <option value="09">09</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                    <option value="13">13</option>
                    <option value="14">14</option>
                    <option value="15">15</option>
                    <option value="16">16</option>
                    <option value="17">17</option>
                    <option value="18">18</option>
                    <option value="19">19</option>
                    <option value="20">20</option>
                    <option value="21">21</option>
                    <option value="22">22</option>
                    <option value="23">23</option>
                    <option value="24">24</option>
                    <option value="25">25</option>
                    <option value="26">26</option>
                    <option value="27">27</option>
                    <option value="28">28</option>
                    <option value="29">29</option>
                    <option value="30">30</option>
                    <option value="31">31</option>
                </select>
                <button type="submit" name="submit">Angebot erstellen</button>
            </form>
            Code:
            "use strict";
            
            (function () {
                window.addEventListener('load', function () {
                    document.getElementById('dashboard').addEventListener('submit', function (event) {
                        if (document.getElementById('item_name').value == '') {
                            alert('Bitte einen Titel bzw. die Art der Beschäftigung eingeben!');
                            event.preventDefault();
                        }
                        if (document.getElementById('day').value == '') {
                            alert('Bitte einen Tag festlegen!');
                            event.preventDefault();
                        }
                    })
                });
            })();
            https://jsfiddle.net/4j79xd33/2/

            Kommentar


            • #7
              Danke

              Kommentar

              Lädt...
              X