Verification de cochage bouton radio

Signaler
Messages postés
23
Date d'inscription
jeudi 27 octobre 2005
Statut
Membre
Dernière intervention
4 juin 2008
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour je vous contacte car j'ai un sérieux souci avec mon fichier php (je sais ce n'est pas du js mais le problème reste entier puisque j'en utilise dedans).

Voilà en fait je réalise un formulaire de sondage qui indique que l'on doit choisir une couverture au choix entre 4 propositions, mais je dois installer une popup qui me dit : Attention aucune case n'a été selectionné (boutons radio), ou quelque chose comme ca, mais cela doit apparaître en popup (car c'est une image qui annoncera la chose) et pas une alerte windows ou mac.

Une fois que l'on a choisi la couverture, un script comptabilise le vote afin de vérifier les stats, et il se retrouvera diriger vers une page suivante qui lui indiquera qu'il a gagné quelque chose genre :


function thanks()
{
      document.couverture.submit() // envoi du formulaire, en gras le nom de ton formulaire
     document.location.href="/vente-en-ligne/statics/statics.aspx?D=marketing/campagne_73/00_73_C09_enquete_couv_celaia/home&F=index_celaia";
}

Cependant je ne sais pas comment intégrer cette fameuse popup dans mon fichier. Je vous joinds le script complet en espérant pouvoir m'en sortir :'(

<html>
<head>
<title>page_landing</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript">
function thanks()
{
      document.couverture.submit() // envoi du formulaire, en gras le nom de ton formulaire
     document.location.href="/vente-en-ligne/statics/statics.aspx?D=marketing/campagne_73/00_73_C09_enquete_couv_celaia/home&F=index_celaia";
}
</script>
</head>

<form action="<?$PHP_SELF;?>" method="post" enctype="multipart/form-data" name="couverture" id="couverture">

 

          ----
       
      ----

                  ,
     
      ----

                  ,
                      ,
                      ,
                      ,
                      ,
     
      ----

                  ,
                      <label>
           
            </label>
            couverture 1          ,
                      <label>
           
            </label>
            couverture 2             ,
                      <label>
           
            </label>
          couverture 3 ,
                      <label>
           
            </label>
          couverture 4 ,
                      ,
     
      ----

                  ,
                      ,
                    <style type="text/css">
        .button {
cursor: pointer;
width: 141px;
height: 91px;
border: none;
background: url("images/page_landing_16.gif") no-repeat left top;
}
        </style>
       
             ,
                      ,
                      ,
     
      ----

                  ,
     
      ----

                  ,
                      ,
                      ,
                      ,
                      ,
                      ,
                      ,
                      ,
     
   

 

 
   <?
switch($choix)
{
case "couverture1":
$fichier = fopen("couverture1.txt","r+");
$sond = fgets($fichier,255);
$sond++;fclose($fichier);
$fichier = fopen("couverture1.txt","w");
fwrite($fichier,$sond);
fclose($fichier);break;

case "couverture2":
$fichier = fopen("couverture2.txt","r+");
$sond = fgets($fichier,255);
$sond++;fclose($fichier);
$fichier = fopen("couverture2.txt","w");
fwrite($fichier,$sond);
fclose($fichier);break;

case "couverture3":
$fichier = fopen("couverture3.txt","r+");
$sond = fgets($fichier,255);
$sond++;fclose($fichier);
$fichier = fopen("couverture3.txt","w");
fwrite($fichier,$sond);
fclose($fichier);break;

case "couverture4":
$fichier = fopen("couverture4.txt","r+");
$sond = fgets($fichier,255);
$sond++;fclose($fichier);
$fichier = fopen("couverture4.txt","w");
fwrite($fichier,$sond);
fclose($fichier);break;
}
?>
  </form>
 
</html>

Merci de votre aide :)

15 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,

je ne comprend pas ce que tu cherches à faire dans thanks() ?

    tu soumet le formulaire en l'envoyant à la même page,
        puis tu remplace la page par une autre ?

    pourquoi ne pas mettre cette autre page dans l'action du form ?
        ou alors... pas compris le but....

quand on peut éviter de faire un submit en javascript, c'est bien mieux,
    tout est normalement prévu dans le formulaire

ce que tu veux, c'est contrôler les radio, et si c'est ok,
    envoyer le formulaire, sinon afficher un pop-up...

<script type="text/javascript">
    function ctr()
    {    for ( var n in document.frm.choix )
        {    if ( document.frm.choix[n].checked )
            {    return true;    }
        }
        window.open("une page qui contient ce que tu veux.htm","","");
        return false;
    }
</script>
<form action="la page qui reçoit le formulaire/?...paramètres&..."
        onsubmit="return ctr();"
        name="frm" >
   
   
   
   
   
</form>

    ch'tite remarque quand même,
       les pop-up sont de plus en plus refusées, ou au minimum
          ouvertes dans un onglet....
       pas réellement la bonne méthode pour signaler une erreur.
       affiche plutôt un div caché qui contient ce que tu veux ( images.... )

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
23
Date d'inscription
jeudi 27 octobre 2005
Statut
Membre
Dernière intervention
4 juin 2008

Merci pour ta rapidité de réponse, en fait je souhaiterai effectivement appliquer une méthode qui me permette d'afficher un cas d'erreur en cas de non cochage des boutons radios (4 max) et que lorsque celui-ci a coché son vote, puisse être redirigé vers une autre page dont on m'aura donné l'adresse.

Pour ce qui est du thanks, il sert à prendre en compte les stats de chaque bouton (via un fichier txt pour chaque bouton radio).

Mais si tu peux me proposer un meilleur moyen de faire une statistique sans avoir a etre spammé de mail ou sans interface d'administration je suis preneur

Merci à toi, je vais test déjà ce que tu m'as envoyé :)

Très cordialement
Messages postés
23
Date d'inscription
jeudi 27 octobre 2005
Statut
Membre
Dernière intervention
4 juin 2008

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
ok, donc met bien le form avec action="page.php", un bouton submit,
    l'évênement onsubmit... comme dans mon exemple.
>>sans avoir a etre spammé de mail ou sans interface d'administration
    mais ça... pas compris.
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
23
Date d'inscription
jeudi 27 octobre 2005
Statut
Membre
Dernière intervention
4 juin 2008

Aïe mon message s'est effacé, je recommence

En fait il me faudrait un bouton réalisant 3 actions : (ce bouton étant modifié par un style css pour le coté esthétique)

1- Pouvoir dire aux personnes : "Attention vous devez coché au moins 1 bouton"
2- Le bouton prend en compte les statistiques de chaque bouton
3- Envoyer à la fin du vote vers une autre page

Je sais je suis tordu :'(

Mais ton aide est précieuse et j'en profite pour apprendre :)

Merci en tout cas :)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
1- Pouvoir dire aux personnes : "Attention vous devez coché au moins 1 bouton"

    "suffit" de regarder si au moins 1 est coché
    exemple fourni
2- Le bouton prend en compte les statistiques de chaque bouton

    "suffit" de gérer le formualire dans une page php
    $_POST['choix'] contient le value du radio coché
3- Envoyer à la fin du vote vers une autre page

    ben... là c'est fait.    le php qui reçoit le formulaire
          en fait renvoie, mon foie, ce qu'il veut.

    quoique pas sûr de comprendre ? quelle fin du vote ?
    ( pas regardé en détail ton code )
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
ou alors... il y a enchaînement de questions/réponses ?

     chaque page envoie sa question et transmet les réponses
          précédentes cachées dans le formualire à la page suivante
p1.php, p2.php, p3.php....
p1 envoie la question 1 aavec action=p2.php et la réponse à q1 dans champ caché
p2 envoie q2, formulaire action=q3, r1,r2 cachés, q3 ....
    j'espère que c'est clair ?   ( pas sûr )

    une page qui contient toutes les questions, dans des div
    qu'on montre au fûr et à mesure ( en cachant les précédents )
    perso, je ferais plutôt ça comme ça ( ça éviterait les échganges )

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
23
Date d'inscription
jeudi 27 octobre 2005
Statut
Membre
Dernière intervention
4 juin 2008

oula c'est bien compliqué ^^

En fait chaque bouton radio renvoi à la même page une fois voté, pour ce qui est des stats j'ai rien compris étant nul en programmation, j'essaie juste de "dépanner" en m'y mettant (bien que je sois plus un boulet qu'autre chose :'( ).

Et pour le renvoi pareil je comprends pas trop :'( je désespère à l'idée du java-php... Il n'ya pas possibilité de mettre dans le header :

<script type="text/javascript">
function thanks()
{
document.couverture.submit() // envoi du formulaire, en gras le nom de ton formulaire
document.location.href="/vente-en-ligne/statics/statics.aspx?D=marketing/campagne_73/00_73_C09_enquete_couv_celaia/home&F=index_celaia";
}
function ctr()
{ for ( var n in document.frm.choix )
{ if ( document.frm.choix[n].checked )
{ return true; }
}
window.open("une page qui contient ce que tu veux.htm","","");
return false;
}
function envoyer()
je connais pas le code
</script>

et dans le body





Je dis ca car ca me serait plus simple mais si ca se trouve ca marche pas... :'(

Merci de ton soutien :)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
il faut surtout sucrer thanks() et le bouton     ou ctr() et le submit !
les 2 seraient incompatibles.
quand à mettre dans le header ??? je ne comprend pas ce que ça veut dire.
mais je comprend à peine ce qui est fait et comment, alors...
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
23
Date d'inscription
jeudi 27 octobre 2005
Statut
Membre
Dernière intervention
4 juin 2008

aïe je dois avoir du mal à m'exprimer, il faut dire que c'est pas facile de parler de choses que je ne connais que succintement, est ce qu'il est possible que je t'envoi les fichiers pour que tu puisses mieux comprendre le mécanisme?si oui je le fait de suite, au cas où je te passe mon mail par message privé :)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
ne compte pas trop sur moi pour tout faire...
je veux bien t'aider à mettre au point, te dire
    comment je ferais, te proposer des pistes... pas reprendre l'ensemble.
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
23
Date d'inscription
jeudi 27 octobre 2005
Statut
Membre
Dernière intervention
4 juin 2008

je veux pas que tu fasses tout ^^

Mais au moins me diriger sur les endroits ou appliquer ces codes (head - body)et m'expliquer pourquoi telle ou telle variables ou actions etc... car il est vrai que quand je lis :
<form action="Celaya-sondage/page_landing/?...paramètres&..."
onsubmit="return ctr();"
name="frm" >
je ne sais pas ou je dois modifier les données, pareil pour :
function ctr()
{ for ( var n in document.frm.choix )
{ if ( document.frm.choix[n].checked )
{ return true; }
}
window.open("popup.html","","");
return false;
}
dans le document.frm.choix que dois-je remplacer et à quoi cela correspond?

Je t'ennuie j'en suis sur et j'en suis désolé, je vais me payer des cours si cela continue ^^ (tu veux pas être mon prof? ^^)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
>>je vais me payer des cours si cela continue ^^ (tu veux pas être mon prof? ^^)
    c'est toi qui cause pognon ! c'est payé combien ?
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
23
Date d'inscription
jeudi 27 octobre 2005
Statut
Membre
Dernière intervention
4 juin 2008

je sais pas lol, à toi de me dire à combien tu peux faire les cours :p
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
renseigne toi sur les prix d'une formation,    et tu m'en recauses en privé
je ne travaille pas au black, et, pour une formation, on paye avant d'avoir.
<hr />Cordialement  Bul   [mon Site]   [M'écrire]   [Laisser une adresse Mail, en évitant les spams]