Heure de début et heure de fin

tristan -  
NookZ Messages postés 2376 Statut Membre -
Bonjour,
je travaille actuellement sur un petit projet php (js si besoin)
L'utilisateur doit cliquer sur un bouton lorsqu'il reçoit un client (cela correspond à l'heure de début du RDV).
Quand c'est terminé, l'utilisateur clique sur ce même bouton (ou un autre) qui signifie la fin du RDV.
Ce que je dois récupérer lors du clic sur ces boutons sont les 2 heures (avec le timestamp je me débrouillerai sans trop de problèmes). Là où je ne sais pas, c'est quel type de bouton utiliser, comment déclencher une action lorsqu'on clic sur le bouton ?
Ce que je voudrais vraiment, c'est réussir à transformer le bouton "Début" par "Fin" lorsque l'on clic sur Début, c'est très intéressant d'un point de vue ergonomique je pense.
J'espère avoir été assez clair,
merci d'avance, Tristan
A voir également:

2 réponses

NookZ Messages postés 2376 Statut Membre 514
 
D'une manière ergonomique le javascript est conseillé ici.
Voici comment procéder :

1/ Création du bouton HTML
<input type="button" value="Début"/>
2/ application de l'évènement en cas de clic :
<input type="button" id="btn_action" value="Début" onclick="changeText(this.id);"/>
On appelle ici la fonction javascript changeText et on lui envoi l'identifiant de l'élément sur lequel on appuie (ainsi vous pourrez utiliser cette fonction sur n'importe quel bouton)
3/créer le script :
entre les balises <head> et </head> de votre page ajoutez :
<SCRIPT language="Javascript">
<!--
function changeText(id) {
var element = document.getElementById(id);
if (element.value=="Début")
element.value="Fin";
else
element.value="Début";
}
-->
</SCRIPT>
les <!-- --> permette de mettre en commentaire le code javascript qui sera exécutable mais pas visible air l'utilisateur qui affichera le code source de votre page

Je n'ai pas testé mais il n'y a pas de raison que ça ne marche pas :)
0
tristan
 
super, ça marche, merci.
Maintenant, comment puis-je modifier des variables php ($heure_debut et $heure_fin) lors du clic sur ce bouton et en fonction de sa valeur ("Début" ou "Fin") ?
Merci
0
NookZ Messages postés 2376 Statut Membre 514
 
Le php et le javascript ne vont pas très bien ensemble malheureusement car quoi qu'il arrive les variables php ne seront modifiées qu'après rechargement. Cependant vous pouvez au choix, effectuer le stockage et le traitement de ses variables en javascript, utiliser un rechargement après modification du bouton et stocker les variables javascript dans des champs cachés pour les récupérer.

La méthode javascript n'a pas de rechargement amis si vous ne vous y connaissez pas, ce sera inutile. La méthode appelant php vous permettra de conserver votre code mais il y aura un rechargement ce qui n'est pas super et requiert d'ajouter ceci (si votre page de départ est bien celle qui contient le php):

dans votre formulaire
<input type="hidden" id="valeur_btn" name="val_btn">
dans le php de la page d'arrivée(qui doit logiquement être la même que celle de départ) :
$_POST['val_btn'] contient "Début" ou "Fin"
dans le body de votre page d'arrivée
<body onload="load();">
dans le head de votre page d'arrivée
<SCRIPT language="Javascript">
<!--
var text;
function changeText(id) {
var element = document.getElementById(id);
if (element.value=="Début")
element.value="Fin";
else
element.value="Début";

var text= element.value;
document.getElementById("valeur_btn").value = element.value;
//ATTENTION ICI VOUS DEVEZ MODIFIER
document.forms["nomdevotreformulaire"].submit();
}

function load() {
document.getElementById("btn_action").value=text;
}
-->
voilà ça devrait marcher
0