Ajax pour augmenter le nombre de champs

Résolu
petittrain Messages postés 61 Statut Membre -  
atspinto Messages postés 338 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'aimerai savor comment on fait pour créer des champs en fonction d'une réponce dans un n'autre champs
je m'exp;lique j'ai un champs ou je choisi le nombre 2 et j'aimérai avoir 2 champs par exemple de nom qui pourrez être envoyé à l'aide d'un formulairee.

je pense qu'il faut utiliser ajax mais je ne vois pas trops comment.

merci.
Configuration: Windows XP
Firefox 2.0.0.6

5 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    Pourquoi Ajax ?

    Javascript suffit
    0
  2. atspinto Messages postés 338 Date d'inscription   Statut Membre Dernière intervention   27
     
    Javascript ça va....
    il te suffit, par exemple
    - de definir un <div> dans ton formulaire
    - une fois le nombre de champs à ajouter reçu, et leur type aussi
    - tu recuperes le <div> en kestion grâce à son ID : myDiv = document.getElementById("mon_div_id");
    - avec une boucle for, tu crée tes champs et tu les greffe à ton <div> myDiv ( https://javascript.developpez.com/faq/?page=DOM#DOMajouter )

    et là, tu auras tout bon....

    maybe...
    0
  3. petittrain Messages postés 61 Statut Membre 2
     
    bonsoir
    merci pour vos réponses mais dans mon code j'ai au dessus de ce champs d'autre paramètres que j'aimerais gardé deplus le champs que je veux multiplier et une fonction écrtite en php car il interrige une base de donnée est rempli les champs en fonction de la réponse, avec document.getElementById("mon_div_id"), il faut poster le formulaire ?.

    nombre <input name=nombre id=nombre>
    <?php
    echo 'Type activité <SELECT id="historique">';
    echo "<!-- sélection des choix-->";
    echo '<option VALUE="%"> choisir </option>';
    include("BD/connexionBD.php");
    //nom variable endroit port nom BD utilisateur mots passe
    $db = pg_connect("host=localhost dbname=IC user=postgres password=postgres");

    $query='SELECT DISTINCT "nature" FROM "maison"';
    $result=pg_query($query) or die('Echec de la requête :'.pg_last_error());
    $nb=pg_numrows($result);

    for ($ligne=0; $ligne<$nb; $ligne++){
    $activites=pg_result($result,$ligne,0);
    echo "<option value=$activites>$activites";
    }
    echo "</SELECT>";
    echo "<br>";
    ?>

    et ces ca que je voudrais recopier en fonction de l'idee nombre
    0
  4. Alain_42 Messages postés 5413 Statut Membre 904
     
    Ha d'accord, si tu veux rajouter des champs remplis à partir d'un BDD
    et sans recharger la page
    ,il te faut effectivement utiliser Ajax

    va voir sur Google les exemples avec Ajax

    dans cette partie tu as des erreurs:
    for ($ligne=0; $ligne<$nb; $ligne++){
    $activites=pg_result($result,$ligne,0);
    echo "<option value=$activites>$activites";
    }


    for ($ligne=0; $ligne<$nb; $ligne++){
    $activites=pg_result($result,$ligne,0);
    echo "<option value=\"".$activites."\">".$activites."</option>";
    }
    


    il faut absolument </option> et mettre les valeurs des arguments entre "

    idem pour:

    <input name="nombre" id="nombre" value="">
    
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. atspinto Messages postés 338 Date d'inscription   Statut Membre Dernière intervention   27
     
    c'est bizarre ça... la kestion n'avait été bien posée au depart ou j'avais pas bien compris.

    lis cet article....
    https://gael-donat.developpez.com/web/intro-ajax/

    il est assez simple, et riche pour ce ke tu veux faire...

    A toi de voir...

    0