2011-05-24 3 views
2

J'ai un formulaire avec un certain nombre de champs de texte.Liste les valeurs dans les champs de texte

Je voudrais ajouter une fonctionnalité où j'ajouterais une zone de texte où l'utilisateur peut déposer plusieurs valeurs, peut-être une par ligne, et sur soumettre, remplir ces valeurs dans les champs de texte de mon formulaire. J'utilise PHP et jQuery sur cette page. Quelque chose me dit que je devrais aller avec PHP et faire une boucle pour $ _POST. Suis-je sur la bonne voie? Je construis les champs de texte via une boucle de toute façon, à la page charge:

for ($i = 1; $i <= 10; $i++) { 
    echo ' 
    <div> 
     <input type="text" maxlength="100" name="field[]"> 
    </div>'; 
} 

Comment pourrais-je combiner cela avec la nouvelle fonction où je séparer les valeurs d'un submission- en vrac?

foreach ($_POST as $listValue) { 
    echo ' 
    <div> 
     <input type="text" maxlength="100" name="field[]" value='.$listValue.'"> 
    </div>'; 
} 
+0

J'ai vraiment du mal à comprendre comment cela est utile? Quelqu'un capable de m'éclairer? – martynthewolf

+1

Il facilite le processus de saisie de données pour l'utilisateur, car il peut entrer plusieurs lignes de données dans une seule zone de texte plutôt que d'effectuer un tabulation sur plusieurs champs de saisie de texte. –

Répondre

2

Je ferai comme ça.

Dans la forme:

<textaera cols="20" rows="60" name="values"> 

dans le PHP:

$array_values = explode("\n", $_POST['values']); 

foreach ($array_values as $listValue) { 
echo ' 
    <div> 
     <input type="text" maxlength="100" name="field[]" value="'.htmlentities($listValue).'"> 
    </div>'; 
} 
+1

vous avez oublié un '" 'après' value = 'mais oui, c'est comme ça que je le ferais aussi –

+0

Oups, merci, je l'ai ajouté. –

1

Créez votre textarea:

<textarea id="field" name="field"></textarea> 

Parse ensuite les résultats en PHP:

$text_area_content = $_POST['field']; 
$lines_array = explode("\n", $text_area_content); 

$ lines_array contient maintenant un élément pour chaque ligne de la zone de texte.

Questions connexes