Avatar billede Slettet bruger
27. juni 2010 - 13:50 Der er 4 kommentarer og
1 løsning

Hej, hvordan kan man gøre sådan at man skriver fx 10, så får man 10 inputs fields.

Hej eksperter.

Hvordan kan man gøre sådan at man skriver fx 10, så får man 10 inputs fields.

Eller man trykker på tilføj så kommer der er text felt mere..
Avatar billede The_Buzz Novice
27. juni 2010 - 14:19 #1
<?
for ($i = 1; $i <= 10; $i++) {
?>
<input type="text" name="bravo[]" value="">
<? } ?>
Avatar billede danco Nybegynder
27. juni 2010 - 14:43 #2
<?php
$antal = $_GET['antal'];
for ($i = 1; $i <= $antal; $i++) {

echo '<input type="text" name="field-'.$i.'" value="">';
           
}
?>

Det er en smagssag om man kan lide buzz måde eller den jeg skitseret ovenfor. Den store forskel ligger jo kun i navngivning af feltet, men jeg synes det er mere overskueligt på den her måde.
Avatar billede Slettet bruger
27. juni 2010 - 14:46 #3
Okay, men hvordan virker jeres metoder...
Avatar billede The_Buzz Novice
27. juni 2010 - 14:51 #4
Begge viser et input felt per count $i op til f.eks. 10.
Avatar billede showsource Seniormester
27. juni 2010 - 15:54 #5
Hvis antal kommer fra brugerinput, kan du evt. bruge java script:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><title>X antal formfelter</title>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />


<style type="text/css">

body {
    background-color: white;
    color: black;
    font-size: 0.8em;
    font-family: verdana, arial, sans-serif;
    margin: 20px;
    }

.textinput {
    font-size: 0.9em;
    background-color: #FFFFFF;
    color: #000000;
    border-width: 1px;
    border-color: black;
        }

.submit {
    font-size: 0.9em;
    background-color: #E9E9E9;
    color: #000000;
    border-width: 1px;
    border-color: black;
        }

.submitknap {
    padding-left: 60px;
            }

</style>

<script type="text/javascript">

function form_fields($antal) {

    if(er_et_tal($antal) != false && $antal > 0) {

    var ialt = 0;

    var upref = document.getElementById("formfelter");

        while (upref.firstChild) {
        upref.removeChild(upref.firstChild);
        }


      while(ialt < $antal) {

      newDiv=document.createElement("div");
      newDiv.style.padding = "2px";
      upref.appendChild(newDiv);

        try {

        newElement=document.createElement("<input type='text' name='nytfelt[]' class='textinput'>");

        } catch (e) {

        newElement=document.createElement("input");
        newElement.setAttribute("name", "nytfelt[]");
        newElement.setAttribute("type", "text");
        newElement.setAttribute("class", "textinput");

        }

      upref.appendChild(newElement);


      ialt++;
      }


  }

}

function er_et_tal() {
    var reg = /^[\d]+$/;
    var navn = document.getElementById("antalfelter");
    if(navn.value !='' && !navn.value.match(reg)){
      alert("Kun tal kan indtastes i feltet!");
      var val = new String(navn.value);
      navn.value = val.substring(0,(val.length-1));
      return false;
    }
}

</script>

</head>
<body>

<form name="form_post" action="" method="post">
 
Antal viste felter: <input type="text" name="antal" onkeyup="er_et_tal();" size="2" id="antalfelter" class="textinput">
<input type="button" value="Vis felter" class="submit" onclick="form_fields(this.form.antal.value);" onkeydown="form_fields(this.form.antal.value);">

<div id="formfelter" style="padding: 16px;">

<script type="text/javascript">
form_fields(3);
</script>

</div>

<br />

<div class="submitknap">

    <input type="submit" value="Submit form" class="submit">

</div>

</form>

<?php
if($_SERVER["REQUEST_METHOD"] == "POST") {

echo "<pre>";
print_r($_POST);
echo "</pre>";

}
?>
</body></html>
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