Formulärfält utifrån angivet värde

JavaScript

4 svar · 429 visningar · startad av jonne

Medlem sedan jan. 20011 154 inlägg
Trådstart#1

Eftersom jag är rätt så värdelös på javascript skulle jag behöva lite hjälp.
Det jag vill åstadkomma är att ha ett inputfält där jag skriver en siffra. Exempelvis fyra är en bra siffra.

Utifrån angiven siffra (fyra) vill jag visa motsvarande antal input fält i denna form:

<label>Företagsnamn <input name="ffCompany" type="text" /></label>

All hjälp mottages tacksamt. Exempel premieras :)

Medlem sedan dec. 20025 483 inlägg
#2

När skall inputfälten visas - när fokus lämnar fältet som siffran skrivits i, eller kanske med hjälp av en knapp?

Medlem sedan jan. 20011 154 inlägg
#3

Vid ett onkeyup eller liknande event hade jag tänkt mig. Knapp funkar nog kanske också.

Medlem sedan dec. 20025 483 inlägg
#4
<script type="text/javascript">
function RemoveElements(elm)
{
  while (elm.hasChildNodes()){
    elm.removeChild(elm.childNodes[0]);
  }
}
function AddInputElements()
{
  var numElm = document.getElementById("number");
  var elmDiv = document.getElementById("elements");
  RemoveElements(elmDiv);
  if (/^\d+$/.test(numElm.value)){
    var val = parseInt(numElm.value);
    for (var i = 0; i < val; ++i){
      var label = document.createElement("label");
      var input = document.createElement("input");
      var text  = document.createTextNode("Text" + i);
      label.appendChild(text);
      label.appendChild(input);
      elmDiv.appendChild(label);
    }
  }
}
</script>

<form>
 <input id="number" onkeyup="AddInputElements()"/>
 <div id="elements"></div>
</form>
Medlem sedan jan. 20011 154 inlägg
#5

Ah suveränt! Precis vad jag ville ha. Tusen tack Peter.

407 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
131 ms — deklarationer (db)
131 ms — hämta statistik (db)
142 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)