webForumDet fria alternativet

Dynamisk antal input element i en form....

4 svar · 293 visningar · startad av swede

swedeMedlem sedan feb. 2004230 inlägg
#1

Jag har en form i stil med:

<form name="form1" method="POST" action="testpost.php">
        Hund : <input name="hund[0]" type="text"/><br/>
        <input name="add" type="submit" /><br/>
</form>

Nu vill jag att det ska vara möjligt att lägga till fler hundar, om man har,
i samma post...

Hur gör jag för att dynamiskt kunna skapa fler Hund fält, typ ?

<form name="form1" method="POST" action="testpost.php">
        Hund : <input name="hund[0]" type="text"/><br/>
        Hund : <input name="hund[1]" type="text"/><br/>
        <input name="add" type="submit" /><br/>
</form>

Kan jag ha flera formar i varandra?
Ska jag använda mig av java script?

//Johan

FuelMedlem sedan okt. 20001 285 inlägg
#2

name="hund[]"

swedeMedlem sedan feb. 2004230 inlägg
#3

Men jag vill dynamiskt öka antalet hundar....
Så att man kan lägga till hund efter hund innan man postar till databasen...

TheMagnusMedlem sedan juli 2006461 inlägg
#4

Vet inte om du redan lyckats lösa detta, men jag hade lite långtråkigt och satte mig ner för att spåna lite på din idé med dynamiskt antal input-fält. Kom fram till följande idé på hur man skulle kunna lösa detta:

<html>
<head>
<script language="javascript">
function moredogs(id){
  what = document.getElementById('div_hund'+id)
  if(what.style.display == 'block'){
    what.style.display = 'none';
  } else {
    what.style.display = 'block';
  }
}
</script>
<style type="text/css">
#div_hund2, #div_hund3, #div_hund4, #div_hund5{
  display: none;
}
</style>
</head>
<body>

<form name="form1" method="post" action="testpost.php">

<div id="div_hund1">
<label for="txt_hund1">Hund: </label>
<input type="text" id="txt_hund1" name="hund[]" />
<input type="button" onclick="moredogs(2);" value="+" />

<div id="div_hund2">
<label for="txt_hund2">Hund: </label>
<input type="text" id="txt_hund2" name="hund[]" />
<input type="button" onclick="moredogs(3);" value="+" />

<div id="div_hund3">
<label for="txt_hund3">Hund: </label>
<input type="text" id="txt_hund3" name="hund[]" />
<input type="button" onclick="moredogs(4);" value="+" />

<div id="div_hund4">
<label for="txt_hund4">Hund: </label>
<input type="text" id="txt_hund4" name="hund[]" />
<input type="button" onclick="moredogs(5);" value="+" />

<div id="div_hund5">
<label for="txt_hund5">Hund: </label>
<input type="text" id="txt_hund5" name="hund[]" />

</div>
</div>
</div>
</div>
</div>

<input name="add" type="submit" />

</form>

</body>
</html>

Divvarna kan du ju så klart framställa med en for-sats i PHP istället. Men det löser du säkert själv på en halvmiss. :)
Sen finns det en massa pill och trixs på hur man kan förbättra koden, men det är en början iaf. :bire

swedeMedlem sedan feb. 2004230 inlägg
#5

Ska prova så fort jag kommer hem!!!

136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)