Choisir entre 2 partie d'un forumaires

JypX Messages postés 67 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 6 février 2010 - 21 janv. 2010 à 21:04
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 29 janv. 2010 à 23:38
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

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
29 janv. 2010 à 19:00
Bonjour,
tous les champs possédant un NAME sont envoyés, donc supprimer le NAME en le sauvegardant pour restauration éventuelle...
;O)
0
JypX Messages postés 67 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 6 février 2010
29 janv. 2010 à 19:19
Merci, pour ton aide mais j'ai du mal à te suivre... Comment je dois m'y prendre?
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
29 janv. 2010 à 23:38
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)
0