• HI zusammen,

    ich habe ein Input feld und will das nur zahlen von 1-157 oder der buchstabe M angenommen werden .

    welchen code schreibe ich da ??

    Danke roland_k :saint:

  • Tipp: solche Fragen lassen sich wunderbar mit ChatGPT beantworten.

    Code
    <input type="text" id="inputField" name="inputField" 
             pattern="^(1[0-4][0-9]|15[0-7]|[1-9]?[0-9]|M)$" 
             title="Geben Sie eine Zahl von 1 bis 157 oder den Buchstaben M ein." 
             required>
  • Du musst schon ein Formular haben

    Eingeben kann man alles, aber abschicken des Formulars geht nur, wenn das Richtige eingegeben wurde. Wenn du schon die Eingabe verhindern willst, dann musst du das mit JavaScript machen.

  • Möglicher Weise hilft es schon weiter, wenn Du mit der Pseudoklasse :invalid das Eingabefeld rot markierst:

    Code
    input#inputField {
        outline: none;
    }
    input#inputField:invalid {
        border: 2px solid red;
    }

    Oder, wenn Du den Benutzer ganz an einer ungültigen Eingabe hindern willst, mit Javascript, dann sind die Bedingungen ohnehin besser lesbar und klarer:

  • Nabend, danke ersst mal.

    Code
    input#inputField {    outline: none;
    }
    input#inputField:invalid {    border: 2px solid red;
    }

    funktioniert bei mir nicht ??

    wäre es möglich den code funktionierend zu erkären ??

    was muss ich wie und wo einfügen ...........im code editor ??

    danke gruss roland ;(

  • Möglicher Weise hilft es schon weiter, wenn Du mit der Pseudoklasse :invalid das Eingabefeld rot markierst:

    Code

    Code
    input#inputField {    outline: none;
    }
    input#inputField:invalid {    border: 2px solid red;
    }

    Oder, wenn Du den Benutzer ganz an einer ungültigen Eingabe hindern willst, mit Javascript, dann sind die Bedingungen ohnehin besser lesbar und klarer:

    Code

    Code
        <script>        document.getElementById('inputField').addEventListener('input', event => {            const                input = event.target,                val = input.value;            // Prüfen ob eine gültige Eingabe vorliegt:            if (val == '' || parseInt(val) >= 1 && parseInt(val) <= 157 || val == 'M') {                // Die Eingabe ist gültig, wir speichern den Wert:                input.dataset.validValue = val;            } else {                // Die Eingabe ist ungültig, wir setzen die Eingabe                // auf den letzten gültigen Wert zurück:                input.value = input.dataset.validValue;            }        });    </script>
    
    
    oder  fehlt da noch was ??  
    
    gruss roland 
  • jetzt habe es gefunden, funktioniert , Danke

    Code
    input#inputField {    outline: none;
    }
    input#inputField:invalid {    border: 2px solid red;
    }
    
    hatte nicht kapiert dass das CSS ist.
    
    Gruss roland 
  • Du musst schon ein Formular haben

    Eingeben kann man alles, aber abschicken des Formulars geht nur, wenn das Richtige eingegeben wurde. Wenn du schon die Eingabe verhindern willst, dann musst du das mit JavaScript machen.

  • Gern, in meinem Posting #5 sind ja schon script-Tags drum herum. Das an das Ende des body, vor das schließende </body> stellen. Das pattern in dem <input> brauchst Du dann nicht.

  • Vielen Dank,

    ich habe es kapiert X/

    habe eben Grundlagenprobleme.

    wenn ich funktionierenden code habe ..........versuche ich mit learning by doing das für mein Problem umzusetzen.

    ich hätte noch ein reines JS Problem ? kann ich das hier posten ??

    Danke

    Gruss roland

    PS: ich bin 77 und habe gesundheitliche probleme, drum auch die späte antwort.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!