webForumDet fria alternativet

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

JavaScript

4 svar · 425 visningar · startad av jonne

Medlem sedan jan. 20011 154 inlägg
Frågan#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.

250 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)