Doppelte Eingabe

iman

Aktives Mitglied
Hi ,

ich möchte in mein HTML Seite keine gleiche Eingabe haben. Ist es möglich? wenn ja, wie ist es?

ich lasse meine HTML code auch hier.

HTML:
<html>
<head>
<title>input</title>
</head>
<body>

    <h2>Lotto Spiel!</h2>
    <br>
    <output name="monitor"></output>
    
    <form method="GET" action="result" >
        Erste Zahl : <input name="input" id="input" type="number" min="1" max="49" required/>
        Zweite Zahl : <input name="input1" id="input1" type="number" min="1" max="49" required/>
        Dritte Zahl : <input name="input2" id="input2" type="number" min="1" max="49" required/>
        Vierte Zahl : <input name="input3" id="input3" type="number" min="1" max="49" required/>
        Fünfte Zahl : <input name="input4" id="input4" type="number" min="1" max="49" required/>
        Sechste Zahl : <input name="input5" id="input5" type="number" min="1" max="49" required/>
        <br>
        <br>
        <input type="submit" name="submit" />
        
        </form>
</body>
</html>
 

mihe7

Top Contributor
Vor dem schließenden body-Tag etwas wie
Javascript:
  <script>
      function checkForm(evt) {
          let frm = evt.target;
          let inputs = Array.from(frm.querySelectorAll("input[type='number']"))
              .map(function(elem) { return elem.value; })
          let unique = new Set(inputs)
          if (unique.size != inputs.length) {
              window.alert('Bitte keine Duplikate eingeben')
              evt.preventDefault()
          }
      }
      document.querySelector("form").addEventListener("submit", checkForm);
  </script>
einfügen.
 

iman

Aktives Mitglied
Vor dem schließenden body-Tag etwas wie
Javascript:
  <script>
      function checkForm(evt) {
          let frm = evt.target;
          let inputs = Array.from(frm.querySelectorAll("input[type='number']"))
              .map(function(elem) { return elem.value; })
          let unique = new Set(inputs)
          if (unique.size != inputs.length) {
              window.alert('Bitte keine Duplikate eingeben')
              evt.preventDefault()
          }
      }
      document.querySelector("form").addEventListener("submit", checkForm);
  </script>
einfügen.



danke dir , es funktioniert
 

iman

Aktives Mitglied
Vor dem schließenden body-Tag etwas wie
Javascript:
  <script>
      function checkForm(evt) {
          let frm = evt.target;
          let inputs = Array.from(frm.querySelectorAll("input[type='number']"))
              .map(function(elem) { return elem.value; })
          let unique = new Set(inputs)
          if (unique.size != inputs.length) {
              window.alert('Bitte keine Duplikate eingeben')
              evt.preventDefault()
          }
      }
      document.querySelector("form").addEventListener("submit", checkForm);
  </script>
einfügen.

Wenn ich möchte , das Programm mir sagen , in welchem field haben wir Duplikate ,dann was soll ich mache?
 

mihe7

Top Contributor
Müsste in etwa so funktionieren:

Javascript:
<script>
      function checkForm(evt) {
          let frm = evt.target;
          let inputElements = Array.from(frm.querySelectorAll("input[type='number']"))
          let inputs = inputElements.map(function(elem) { return elem.value; })
          let unique = new Set(inputs)
          let dupes = new Set()
          if (unique.size != inputs.length) {
              for (let i = 0; i < inputElements.length; i++) {
                  if (!unique.delete(inputElements[i].value)) {
                      dupes.add(inputElements[i].name)
                  }
              }
              console.dir(dupes)
              window.alert('Bitte keine Duplikate eingeben: ' + dupes)
              evt.preventDefault()
          }
      }
      document.querySelector("form").addEventListener("submit", checkForm);
  </script>
Das Ergebnis erhältst Du auf der JavaScript-Konsole im Browser.
 

iman

Aktives Mitglied
Müsste in etwa so funktionieren:

Javascript:
<script>
      function checkForm(evt) {
          let frm = evt.target;
          let inputElements = Array.from(frm.querySelectorAll("input[type='number']"))
          let inputs = inputElements.map(function(elem) { return elem.value; })
          let unique = new Set(inputs)
          let dupes = new Set()
          if (unique.size != inputs.length) {
              for (let i = 0; i < inputElements.length; i++) {
                  if (!unique.delete(inputElements[i].value)) {
                      dupes.add(inputElements[i].name)
                  }
              }
              console.dir(dupes)
              window.alert('Bitte keine Duplikate eingeben: ' + dupes)
              evt.preventDefault()
          }
      }
      document.querySelector("form").addEventListener("submit", checkForm);
  </script>
Das Ergebnis erhältst Du auf der JavaScript-Konsole im Browser.


Müsste in etwa so funktionieren:

Javascript:
<script>
      function checkForm(evt) {
          let frm = evt.target;
          let inputElements = Array.from(frm.querySelectorAll("input[type='number']"))
          let inputs = inputElements.map(function(elem) { return elem.value; })
          let unique = new Set(inputs)
          let dupes = new Set()
          if (unique.size != inputs.length) {
              for (let i = 0; i < inputElements.length; i++) {
                  if (!unique.delete(inputElements[i].value)) {
                      dupes.add(inputElements[i].name)
                  }
              }
              console.dir(dupes)
              window.alert('Bitte keine Duplikate eingeben: ' + dupes)
              evt.preventDefault()
          }
      }
      document.querySelector("form").addEventListener("submit", checkForm);
  </script>
Das Ergebnis erhältst Du auf der JavaScript-Konsole im Browser.


Danke schön, ich habe außer let dupes einen Array liste hingestellt. Dan nach in Fehler Meldung die Namen von Duplikate Eingabe uns zuruck geben.
 
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben