Faire exécuter fonction Javascript en PHP

cla85 Messages postés 15 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 10 novembre 2010 - 15 avril 2009 à 12:42
cla85 Messages postés 15 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 10 novembre 2010 - 17 avril 2009 à 12:16
Bonjour,
Je développe actuellement un site pour un salon sur lequel apparait un formulaire d'inscription des visiteurs.
Mon formulaire est composé de 2 parties : une partie pro et une partie perso.
Selon que le visiteur choisi son type de coordonnées (soit pro ou soit perso) le bon formulaire apparait.
Donc ça c'est OK, j'ai utilisé :

- en js
function radioclick (b) {
document.getElementById('perso').style.display = (b? 'block':'none');
document.getElementById('pro').style.display = (b? 'none':'block');
}

- en html
onclick="radioclick(true);">
personnelles
onclick="radioclick(false);">
société

Ensuite, une vérification PHP s'exécute quand on clique sur envoyer et qui garde les champs bien remplis.
Ce qui se passe, c'est qu'il me garde bien les champs remplis (même mon premier bouton radio) mais que mon formulaire censé apparaitre est revenu à display = none.

Donc je voudrais que lorsque ma vérification se produit, php puisse "exécuter" ma fonction js qui fait apparaitre le bon formulaire selon le bouton radio choisit.

Merci pour vos réponses.

2 réponses

lefter Messages postés 63 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 16 mai 2009
16 avril 2009 à 21:23
Il n'y a pas moyen d'exécuter une fonction javascript via php.
Mais comme tu as utilisé des boutons radio, il suffit d'écrire ceci en fin de page:
<script><!--
<?php
if ($_POST['coordonnees']=="personnelles"){
    echo '"radioclick(true);\n";
} else {
    echo "radioclick(false);\n";
}
?>
</script>

ou bien dans ton forumlaire pour le cadre perso :

display:<?php echo (($coordonnees=='personnelles')?'block':'none'); ?>">
....

et pour le cadre pro :

display:<?php echo (($coordonnees=='societe')?'block':'none'); ?>">

....


Lefter 
0
cla85 Messages postés 15 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 10 novembre 2010
17 avril 2009 à 12:16
Merci pour ton aide, j'ai utilisé la 2ème solution et ça marche impec !
0
Rejoignez-nous