Choisir entre 2 partie d'un forumaires

Signaler
Messages postés
67
Date d'inscription
lundi 21 décembre 2009
Statut
Membre
Dernière intervention
6 février 2010
-
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
Bonjour,

Je ne veux pas faire juste cacher l'une des 2 parties d'un formulaire mais que seul la partie active soit envoyer et pas les 2 comme c'est le cas avec ce code.
ex : champs communs + champs choix 1 ou champs communs + champs choix 2.

<?
$champ1 = $_POST['champ1'];
$champ2 = $_POST['champ2'];
echo "champ 1 : ".$champ1."
";
echo "champ 2 : ".$champ2;
?>
<html>
<head>
<title>Choix formulaire</title>
</head>
<script>
function Changer(variable,valeur){
id = document.getElementById(variable);
        if(valeur=="0"){
id.style.display="none";
}else{
                if(id.style.display=="none"){
id.style.display="";
}
}
}
</script>

<center><form action="" method="post" name="suppr">
        , , ----
<center>
champ 1 :
champ 2 :
</center>,
----


</form></center>

</html>

3 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
Bonjour,
tous les champs possédant un NAME sont envoyés, donc supprimer le NAME en le sauvegardant pour restauration éventuelle...
;O)
Messages postés
67
Date d'inscription
lundi 21 décembre 2009
Statut
Membre
Dernière intervention
6 février 2010

Merci, pour ton aide mais j'ai du mal à te suivre... Comment je dois m'y prendre?
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
l'idée est de supprimer le NAME de l'INPUT pour qu'il ne soit pas envoyé, la sauvegarde peut se faire en utilisant l'ID.
La fonction pourrait ressembler à cela...
//---------------------------
function Changer( id_, etat_){
  //-- Recup. du SPAN
  var O_Span = document.getElementById( id_);
  //-- Recup. du 1st INPUT du SPAN
  var O_Input = O_Span.getElementsByTagName( "INPUT");
  
  if( etat_ == "0"){
    //-- On cache le SPAN
    O_Span.style.display = "none";
    //-- Suppression de l'attribut NAME de l'INPUT
    O_Input[0].removeAttribute( "name");
}else{
    if( O_Span.style.display == "none"){
      //-- On affichage du SPAN
      O_Span.style.display = "";
      //-- Restauration du NAME de l'INPUT qui n'est autre que l'ID
      O_Input[0].setAttribute( "name", O_Input[0].id);
    }
  }
}

à noter que l'INPUT masqué ne doit pas avoir de NAME au départ...
Voilou à toi de jouer
;O)