2017-07-13 5 views
0

izeigen mehrere divs Basis auf Eingangs

<input type="number" class="form-control" id ="nbchambre" name="nbchambre" onchange="myFunction()"> 

ich einen Eingabetyp Nummer hava haben einen anderen Eingang, die ich auf der Anzahl mehrmals basierend zeigen wollen, dass der Benutzer eingeben, ich jetzt dieser JavaScript-Code geschrieben:

aber dieser Code funktioniert nicht, wenn ich eine Zahl schreibe, zeigt das div das Wort 'test' 10 Mal die Zahl (wenn ich zum Beispiel 3 schreibe, wird das Wort test 30 mal angezeigt), auch wenn ich 5 schreibe, nachdem ich 3 geschrieben habe, wird 50 'test' zu den ersten 30 'test' hinzugefügt. Ich bin nicht gut in Javascript also bitte helfen Sie mir diesen Code zu beheben. Danke

Antwort

2

Sie müssen sicherstellen, dass Sie Ihren Eingabewert in eine Zahl konvertieren. Ansonsten wird es als String behandelt.

<input type="number" class="form-control" id ="nbchambre" name="nbchambre" onchange="myFunction()"> 
 

 
<div id="content"></div> 
 
<script> 
 
function myFunction(){ 
 
      var n = Number(document.getElementById("nbchambre").value); 
 
      var content = document.getElementById('content'); 
 
      content.innerHTML=""; 
 
      for(var count = 1; count < n+1; count++){ 
 
       var div = document.createElement('div'); 
 
       div.innerHTML = 'test'; 
 
       content.appendChild(div); 
 
      } 
 
     } 
 
</script>

+0

Wow es funktioniert !! Danke vielmals!! nur eine andere Frage !! schreibe jetzt, der Benutzer muss eine Nummer schreiben und dann 'Enter' drücken ... ist es möglich, das Skript sofort zu funktionieren, nachdem er die Nummer geschrieben hat? – Ayhem

+0

Sie müssen nicht die Eingabetaste drücken. Sobald es den Fokus verliert, feuert es ab. Sie können jedoch ein "onkeydown" -Ereignis hinzufügen, wenn Sie es auslösen möchten, sobald Sie eine Taste drücken. –

+0

Ja, Sie können Ihre Funktion sofort als Reaktion auf das ['input'-Ereignis] (https: //developer.mozilla .org/de-DE/docs/Web/Ereignisse/input) mit [addEventListener()] (https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener). Die Funktion würde also immer dann ausgeführt, wenn der Benutzer etwas eingibt. –