Faire exécuter fonction Javascript en PHP

Signaler
Messages postés
15
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
10 novembre 2010
-
Messages postés
15
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
10 novembre 2010
-
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

Messages postés
63
Date d'inscription
lundi 7 juin 2004
Statut
Membre
Dernière intervention
16 mai 2009

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 
Messages postés
15
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
10 novembre 2010

Merci pour ton aide, j'ai utilisé la 2ème solution et ça marche impec !