Avatar billede ofirpeter Nybegynder
21. august 2006 - 15:19 Der er 7 kommentarer og
1 løsning

Tilføj input-felt til en form

Hej, jeg ønsker et eksempel på hvordan man kan lave en tilføj felt knap, som man ser det flere steder.

Det skulle gerne forgå på den måde at man først bliver præcenteret for:
-----------
<input type='text' name='1'>
<a>Tilføj felt</a>
-----------

Når jeg så trykker på "Tilføj felt" ser jeg et ektra felt:

-----------
<input type='text' name='1'>
<input type='text' name='2'>
<a>Tilføj felt</a>
-----------

Og flere klik efter:

-----------
<input type='text' name='1'>
<input type='text' name='2'>
<input type='text' name='3'>
<input type='text' name='4'>
<input type='text' name='5'>
<input type='text' name='6'>
<a>Tilføj felt</a>
-----------
Osv.

Hvordan sørger jeg for at "udskrive" et nyt felt hver gang jeg klikker på tilføj felt? Og evt. hvorledes får jeg php til at finde antallet af felter?

Med venlig hilsen
Peter
Avatar billede roenving Novice
21. august 2006 - 16:17 #1
Prøv f.eks. at kigge på eksemplerne i disse tråde: http://exp.dk/spm/666830 og http://exp.dk/spm/672130 ...
Avatar billede ofirpeter Nybegynder
22. august 2006 - 08:25 #2
Hej, det ser rigtig fornuftigt ud med denne:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Tilføj række i form/tabel</title>
<meta name="keywords" content="roenving,http://exp.dk/spm/666830">
<meta name="Generator" content="Stone's WebWriter 4">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function addRow(elm){
  var tb = getParent(elm,"tbody");
  var tr = tb.getElementsByTagName("tr")[0];
  var nyTr = tr.cloneNode(true);
  var inps = nyTr.getElementsByTagName("input");
  for(i=0;inps.length>i;i++){
    if(inps[i].type == "text")
      inps[i].value = "";
  }
  var submitRow = getParent(elm, "tr");
  tb.insertBefore(nyTr,submitRow);
}
function deleteRow(elm){
  var tb = getParent(elm,"tbody");
  var trs = tb.getElementsByTagName("tr");
  if(3>trs.length)
    return;
  for(i=trs.length-2;i>0;i--){
    if(trs[i].getElementsByTagName("input")[2].checked)
      tb.removeChild(trs[i]);
  }
}
function getParent(elm,TagName){
  var parElm = elm.parentNode;
  while(parElm.tagName.toLowerCase() != TagName.toLowerCase())
    parElm = parElm.parentNode;
  return parElm;
}
</script>
</head>
<body>
<form action="" method="post" name="myForm">

<table width="400" border="1">
  <tr>
    <td><input name="firstname" type="text"></td>
    <td><input name="lastname" type="text"></td>
    <td>Slet: <input name="slet" type="checkbox" value="delet"></td>
  </tr>
  <tr>
    <td><input name="addfield" type="button" value="Udvid form" onclick="addRow(this);return false;"><br>
    <input name="deletefield" type="button" value="Slet markeret række" onclick="deleteRow(this);return false;"></td>
    <td><input name="submit" type="submit" value="OK"></td>
    <td></td>
  </tr>
</table>
</form>

</body>
</html>


Mit problem er bare navnene som gerne skulle følge 1,2,3 eller noget lignende, så jeg kan udskrive det med php. Det array de indskriver i http://exp.dk/spm/666830 kan jeg ikke få til at virke.
Avatar billede ofirpeter Nybegynder
22. august 2006 - 09:57 #3
Nu fandt jeg ud af hvordan jeg fik teksten ud af den:
<?
echo $_REQUEST["firstname"][0];
?>

Men det er et problem for mig at teksten i feltet bliver kopieret når man trykker udvid form.
Avatar billede ofirpeter Nybegynder
22. august 2006 - 09:57 #4
Altså, teksten i det øverste felt bliver gentaget
Avatar billede ofirpeter Nybegynder
22. august 2006 - 09:58 #5
Kan jeg evt. sørge for at det første felt bliver skjult?
Avatar billede ofirpeter Nybegynder
22. august 2006 - 15:06 #6
Nå smid bare et svar roenving, jeg prøver at åbne et nyt spørgsmål omkring det senere. Det her er vidst dødt.
Avatar billede roenving Novice
22. august 2006 - 17:09 #7
Nu fjerner ovenstående da værdien, hvis der eventuelt er nogen ...

-- els velbekomme '-)
Avatar billede roenving Novice
30. august 2006 - 13:27 #8
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester