Fork me on GitHub






Ajouter input en dynamique dans un formulaire
Régulier
Inscrit: 31/01/2008 01:30
Messages: 285
Bonjour a tous.

Voila j'ai trouver un petit script qui ajoute des input avec un clic.

<script type="text/javascript">
    $(
document).ready(function(){
       var 
MAX_FIELDS 50;
       var 
fields 1;
       
       $(
":input[name='add']").click(function () {
          if (
fields <= MAX_FIELDS) {
             $(
"div[id='ville']:last").clone(true).insertAfter("div[id='ville']:last");
             
fields++;
          }
       });
    });
    
</script>


<form action="valide.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<div id="ville">Ville :<input type="text" name="ville[]" id="ville" required="required" placeholder="Entrez une ville*"/><input name="add" type="button" value="+ Ville" size="20px"/>
        </div>
</form>



Mais je n'arrive pas, et ne trouve rien sur les tutos de XOOPS et surtout pour le faire dans un formulaire à la norme XOOPS.

voici une debauche, mais ou je place ce bout de code dans le script ???
<div id="ville"></div>




Voici mon code :

$my_form->setExtra('<div id="ville">');
        
$my_form ->addElement( new XoopsFormText("Ville","ville[]",20,20,"","ville" ),true) ;
        
$my_form ->addElement( new XoopsFormButton("Ajouter Ville","add","+ Ville","button" ),true) ;
        
$my_form->setExtra('</div>');



Mais forcement ceci ne fonctionne pas.

Avez-vous une idée, et déjà es-ce que c'est possible ??


Merci a vous.

Dragon

Posté le : 06/03/2014 19:13
Partager Twitter Partagez cette article sur GG+
Re: Ajouter input en dynamique dans un formulaire
Semi pro
Inscrit: 10/11/2004 13:40
Messages: 1659
Bonjour,

J'ai déjà rajouté des champs sups sur des formulaires, pour t'aider (si j'y arrive), j'ai besoin de voir les pages de ton module ?

Ensuite tu veux que la saisie dans ces champs sups soient enregistrée quelque part ?




Posté le : 07/03/2014 09:35

PS : Toujours faire une sauvegarde des fichiers avant de les modifier !
-------------------------------------------
http://www.aideordi.com
Partager Twitter Partagez cette article sur GG+
Re: Ajouter input en dynamique dans un formulaire
Régulier
Inscrit: 31/01/2008 01:30
Messages: 285
Salut, alors voici la page en question.

<script type="text/javascript">
    $(document).ready(function(){
       var MAX_FIELDS = 50;
       var fields = 1;
       
       $(":input[name='add']").click(function () {
          if (fields <= MAX_FIELDS) {
             $("div[id='ville']:last").clone(true).insertAfter("div[id='ville']:last");
             fields++;
          }
       });
    });
    </script>
    <?php
    
global $xoopsDB;
// include du formloader
 
include XOOPS_ROOT_PATH."/class/xoopsformloader.php";
if (
is_object($xoopsUser)) {  
    
$uid $xoopsUser->getVar('uid');  
    
$uname $xoopsUser->getVar('uname'); 
}else{  
    
$uid 0;  
    
$uname "Anonyme"
    }  

     
$editor_configs=array();
      
$editor_configs["rows"] = "10";
     
$editor_configs["cols"] = "50"
     
$editor_configs["width"] = "400"
     
$editor_configs["height"] = "100"
     
$editor_configs["editor"]= "tinymce";
    
$my_form = new XoopsThemeForm("Information de votre Ville""comment""comment.php"); 
    
$my_form->setExtra"enctype='multipart/form-data'" ) ;
        
$my_form ->addElement( new XoopsFormText("Pseudo","uname",20,20$uname),true) ;
        
$my_form ->addElement( new XoopsFormText("Alliance","alliance",20,20 ),true) ;
        
$my_form ->addElement( new XoopsFormDateTime("Heure","heure"),false) ;
        
$my_form ->addElement( new XoopsFormText("Ville","ville[]",20,20,"","ville" ),true) ;
        
$my_form ->addElement( new XoopsFormButton("Ajouter Ville","add","+ Ville","button" ),true) ;
        
 
$my_form->addElement(new XoopsFormEditor("Votre message""message"$editor_configs), false);
 
$button_tray = new XoopsFormElementTray('' ,'');
 
$button_tray->addElement(new XoopsFormButton('''post'"Valider"'submit'));
 
$my_form->addElement($button_tray);


    
$my_form->display();

?>







page de traitement qui n'est que le commencement:

<?php
include_once('../../mainfile.php');
//include_once('function/global.php');
if (is_object($xoopsUser)) {  
    
$uid $xoopsUser->getVar('uid');  
    
$uname $xoopsUser->getVar('uname'); 
    
$email $xoopsUser->getVar('email');  
}else{  
    
$uid 0;  
    
$uname "Anonyme"
    } 

 include 
$GLOBALS['xoops']->path('header.php');
 
// par défaut on affichera le formulaire
 
$op 'form'
// pour récupérer toutes les variables du formulaire avec leurs valeurs (évite les $_POST)
 
foreach ( $_POST as $k => $v ) { 
${
$k} = $v
}
// le formulaire a été posté : soit prévisualisation, soit enregistrement
 
if ( isset($preview)) {
 
$op 'preview';
 } elseif ( isset(
$post) ) {
 
$op 'post';
 }
// on traite les différents cas
 
switch ($op) {
case 
"preview"// prévisualiation
 
$myts =& MyTextSanitizer::getInstance(); // MyTextSanitizer object
 
include $GLOBALS['xoops']->path('header.php');
  
//echo  menu_user_brouteur($uname);
 
include "comment.inc.php"// puis inclusion du formulaire

 
include $GLOBALS['xoops']->path('footer.php');
 break;
case 
"post"// formulaire posté
 
$myts =& MyTextSanitizer::getInstance();
// récupération et mise en forme des données
 
$ville $myts->oopsAddSlashes($ville);
 
//$img_dir = "./utilisateur/".$uname."/images" ; // ou = XOOPS_UPLOAD_PATH; (répertoire upload de xoops)
  
include_once(XOOPS_ROOT_PATH."/class/uploader.php");

 
// requête d'insertion dans la base
 
$sql =mysql_query("INSERT INTO ".XOOPS_DB_PREFIX." blablabla")or die(mysql_error());


 break; 

case 
'form'// affichage formulaire
 
default:
 include 
$GLOBALS['xoops']->path('header.php');

 global 
$xoTheme

 

include 
"comment.inc.php"
 include 
$GLOBALS['xoops']->path('footer.php'); break;
 }
 include 
$GLOBALS['xoops']->path('footer.php');



Sinon, un grand merci a toi.

Posté le : 07/03/2014 17:04
Partager Twitter Partagez cette article sur GG+
Re: Ajouter input en dynamique dans un formulaire
Semi pro
Inscrit: 10/11/2004 13:40
Messages: 1659
A la place de :
$my_form ->addElement( new XoopsFormText("Ville","ville[]",20,20,"","ville" ),true) ;


Peut être :
$ville ="<div id='ville'><input type='text' name='ville[]' id='ville' size='20' maxlength='20' required></div>";
$my_form->addElement(new XoopsFormLabel("Ville"$ville));

Posté le : 08/03/2014 14:50

PS : Toujours faire une sauvegarde des fichiers avant de les modifier !
-------------------------------------------
http://www.aideordi.com
Partager Twitter Partagez cette article sur GG+
Re: Ajouter input en dynamique dans un formulaire
Régulier
Inscrit: 31/01/2008 01:30
Messages: 285
Super le principe fonctionne niquel.

Je continue sur ton script. Un grand merci de ton aide.

Posté le : 08/03/2014 17:02
Partager Twitter Partagez cette article sur GG+
Re: Ajouter input en dynamique dans un formulaire
Semi pro
Inscrit: 10/11/2004 13:40
Messages: 1659
super, bon courage pour la suite

Posté le : 08/03/2014 22:29

PS : Toujours faire une sauvegarde des fichiers avant de les modifier !
-------------------------------------------
http://www.aideordi.com
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

46 Personne(s) en ligne (32 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 46 | Plus ...