Utiliser 2 boutons différents
Résolu/Fermé
philip51
Messages postés
49
Date d'inscription
vendredi 6 janvier 2017
Statut
Membre
Dernière intervention
25 février 2020
-
30 janv. 2017 à 11:30
philip51 Messages postés 49 Date d'inscription vendredi 6 janvier 2017 Statut Membre Dernière intervention 25 février 2020 - 9 févr. 2017 à 09:15
philip51 Messages postés 49 Date d'inscription vendredi 6 janvier 2017 Statut Membre Dernière intervention 25 février 2020 - 9 févr. 2017 à 09:15
A voir également:
- Utiliser 2 boutons différents
- Utiliser chromecast - Guide
- Comment utiliser l'ia - Accueil - Guide Intelligence artificielle
- Utiliser iphone comme webcam - Guide
- 2 ecran pc - Guide
- Comment utiliser google drive - Guide
3 réponses
Nexii
Messages postés
338
Date d'inscription
jeudi 13 mars 2014
Statut
Membre
Dernière intervention
14 mars 2017
575
Modifié par Nexii le 30/01/2017 à 15:49
Modifié par Nexii le 30/01/2017 à 15:49
Bonjour,
Tes fonctions appelées depuis l'HTML te permettent d'y introduire des paramètres.
Lorsque tu appelles ta fonction "afficher_cal()", tu peux lui ajouter l'objet en question
Tes fonctions appelées depuis l'HTML te permettent d'y introduire des paramètres.
Lorsque tu appelles ta fonction "afficher_cal()", tu peux lui ajouter l'objet en question
afficher_cal(this)puis dans la fonction récupérer l'ID de l'objet :
function afficher_cal(obj) { // code var inputId = obj.id; }
Nexii
Messages postés
338
Date d'inscription
jeudi 13 mars 2014
Statut
Membre
Dernière intervention
14 mars 2017
575
1 févr. 2017 à 12:16
1 févr. 2017 à 12:16
Voila tu peux trouver ton fichier ici
J'ai mis des commentaires et spécifier ou est le nouveau code (sauf pour l'HTML).
Tu remarqueras que j'ai utilisé jQuery uniquement pour les nouvelles fonctions, je n'ai pas voulu détruire ton code et que tu ne comprennes plus rien.
Attention : la librairie jQuery est hebergé sur internet, pour que ton site fonctionne tu devras avoir accès à internet. Sinon tu télécharge le fichier.js, tu en fais un fichier dans ton dossier de travail et tu fais une balise qui pointe vers celui-ci. Bien charger ce script avant ton script perso :).
J'ai mis des commentaires et spécifier ou est le nouveau code (sauf pour l'HTML).
Tu remarqueras que j'ai utilisé jQuery uniquement pour les nouvelles fonctions, je n'ai pas voulu détruire ton code et que tu ne comprennes plus rien.
Attention : la librairie jQuery est hebergé sur internet, pour que ton site fonctionne tu devras avoir accès à internet. Sinon tu télécharge le fichier.js, tu en fais un fichier dans ton dossier de travail et tu fais une balise qui pointe vers celui-ci. Bien charger ce script avant ton script perso :).
philip51
Messages postés
49
Date d'inscription
vendredi 6 janvier 2017
Statut
Membre
Dernière intervention
25 février 2020
1 févr. 2017 à 23:44
1 févr. 2017 à 23:44
Je viens de découvrir le message. Je vais regarder cela et déjà merci.
Tu as pu voir que ce n'est pas un code optimisé et pour cause je n'ai aucune formation en PHP, Javascript et autre langage informatique et tout ce que je fais c'est en piochant sur internet et en posant des questions sur les forum comme celui-ci.
Tu as pu voir que ce n'est pas un code optimisé et pour cause je n'ai aucune formation en PHP, Javascript et autre langage informatique et tout ce que je fais c'est en piochant sur internet et en posant des questions sur les forum comme celui-ci.
philip51
Messages postés
49
Date d'inscription
vendredi 6 janvier 2017
Statut
Membre
Dernière intervention
25 février 2020
2 févr. 2017 à 09:45
2 févr. 2017 à 09:45
Je viens de charger les fichiers. C'est bien ce que je voulais faire.J'ai 2 questions :
1/ les boutons que j'avais placés sur la pages index sont devenus inutiles ?
2/ le site est hébergé chez OVH. Cet hébergeur étant l'un des plus importants j'imagine qu'il y a accès à internet. Je vais poser la question.
Encore un grand merci pour toute l'aide.
1/ les boutons que j'avais placés sur la pages index sont devenus inutiles ?
2/ le site est hébergé chez OVH. Cet hébergeur étant l'un des plus importants j'imagine qu'il y a accès à internet. Je vais poser la question.
Encore un grand merci pour toute l'aide.
philip51
Messages postés
49
Date d'inscription
vendredi 6 janvier 2017
Statut
Membre
Dernière intervention
25 février 2020
2 févr. 2017 à 10:24
2 févr. 2017 à 10:24
OK Je viens de voir que les boutons n'existent plus .
Par contre il reste une chose qui me gêne beaucoup. Comme je l'avais dit j'ai 2 pages sur lesquelles je vais mettre le script du calendrier. Sur ces 2 pages j'ai un tableau dont les données viennent d'une bdd. Quand l'utilisateur saisit les dates et les valide la bdd est mise jour et j'affiche le tableau à jour. Et le problème est donc que lors d'un clic dans les input le tableau va disparaître.
L'autre problème c'est que je vais avoir besoin d'un bouton pour enregistrer les dates dans la bdd. Quel que soit l'endroit où je place un bouton il arrive entre "l'entête" et le corps du calendrier. Est ce qu'il ne faudrait pas contenir l'entête et le calendrier dans une balise div ?
Par contre il reste une chose qui me gêne beaucoup. Comme je l'avais dit j'ai 2 pages sur lesquelles je vais mettre le script du calendrier. Sur ces 2 pages j'ai un tableau dont les données viennent d'une bdd. Quand l'utilisateur saisit les dates et les valide la bdd est mise jour et j'affiche le tableau à jour. Et le problème est donc que lors d'un clic dans les input le tableau va disparaître.
L'autre problème c'est que je vais avoir besoin d'un bouton pour enregistrer les dates dans la bdd. Quel que soit l'endroit où je place un bouton il arrive entre "l'entête" et le corps du calendrier. Est ce qu'il ne faudrait pas contenir l'entête et le calendrier dans une balise div ?
Nexii
Messages postés
338
Date d'inscription
jeudi 13 mars 2014
Statut
Membre
Dernière intervention
14 mars 2017
575
2 févr. 2017 à 13:35
2 févr. 2017 à 13:35
Tu peux essayer pour le DIV qui englobe les calendrier en effet.
En ce qui concerne ton autre problème je ne comprend pas trop ce qui ne va pas..
En ce qui concerne ton autre problème je ne comprend pas trop ce qui ne va pas..
philip51
Messages postés
49
Date d'inscription
vendredi 6 janvier 2017
Statut
Membre
Dernière intervention
25 février 2020
>
Nexii
Messages postés
338
Date d'inscription
jeudi 13 mars 2014
Statut
Membre
Dernière intervention
14 mars 2017
2 févr. 2017 à 15:53
2 févr. 2017 à 15:53
Sur la 1ère ligne de code ci-dessous j'ai mis une simple table pour tester. Quand je clique sur un input la table s'efface.Sur le site la table que j'ai est complétée au chargement de la page.
Pour l'autre problème, c'est à dire le bouton pour enregistrer les dates dans la base de donnée je l'ai placé après la balise "calendrier" et malgré ça quand le calendrier s'affiche le bouton est entre "l'entête" et le calendrier.
Et une autre chose que je viens de voir : si je clique sur les cellules du début du calendrier ou de la fin (les cellules du mois d'avant ou du mois d'après ) je récupère la valeur dans les input. sauf que par exemple si je clique sur la 1ere cellule de février je récupère "30/02/2017". j'ai mais ça dans le css des cellules vides mais ça ne fait rien
J'espère que mes explications sont plus claires.
Je cherche en même temps
Pour l'autre problème, c'est à dire le bouton pour enregistrer les dates dans la base de donnée je l'ai placé après la balise "calendrier" et malgré ça quand le calendrier s'affiche le bouton est entre "l'entête" et le calendrier.
<table><tr><td>toto</td><td>tata</td></tr></table><br />
<div id="calendrier">
<FORM NAME="gen">
<p class="selection">
<span style="text-align:center;">Sélection des dates de disponibilités</span><br /><br />
Date de début : <INPUT class="choseDate tgt" id="startDate" type="text" name="debut" value="" size=9em/> <br/><br/>
Date de fin : <INPUT class="choseDate tgt" id="endDate" type="text" name="fin" value="" size=9em style="margin-left:1.5em;">
</p>
....
<!---date fin pour bdd---> <INPUT type="hidden" name="date_fin" value="">
<!--- en tête du tableau contenant "1 bouton < cliquable", le mois et l'année, "1 bouton > cliquable" --->
<div id="entete" class="tgt">
<input type='button' name='bouton' value='<' onclick='previous(gen),Njours(gen)'; class='boutonCal'>
<input type='text' name='an' class='inputladate' size=16em value='<?php echo $mois_fr[$mois]; echo " $anne";?>'>
<input type='button' name='bouton' value='>' onclick='next(gen),Njours(gen)'; class='boutonCal'>
</div>
</FORM>
</div>
<input type = "button" name = "Enreg" value = "Enregistrer">
</body>
Et une autre chose que je viens de voir : si je clique sur les cellules du début du calendrier ou de la fin (les cellules du mois d'avant ou du mois d'après ) je récupère la valeur dans les input. sauf que par exemple si je clique sur la 1ere cellule de février je récupère "30/02/2017". j'ai mais ça dans le css des cellules vides mais ça ne fait rien
#tableCal .couleurvide { background-color : #E0FFFF;color:#808080;disabled:disabled;}
J'espère que mes explications sont plus claires.
Je cherche en même temps
philip51
Messages postés
49
Date d'inscription
vendredi 6 janvier 2017
Statut
Membre
Dernière intervention
25 février 2020
6 févr. 2017 à 12:58
6 févr. 2017 à 12:58
bonjour,
Comme je l'ai dit ça ne m'intéresse pas de récupérer quelque chose de 'tout cuit' mais je veux faire par moi-même pour apprendre. Mais bien sûr j'ai quand même besoin d'aide!!!
donc dans mon projet la dernière chose qu'il me reste à faire c'est d'afficher un message quand la cellule cliquée ne correspond pas à une cellule où il y a les jours du mois encours.
code css
le code pour récupérer la cellule cliquée et savoir si elle correspond à un jour du mois en cours
'couleurvide' est la class attribuée aux cellules des jours qui ne sont pas les jours du mois.
Le if ne fonctionne pas.
Comme je l'ai dit ça ne m'intéresse pas de récupérer quelque chose de 'tout cuit' mais je veux faire par moi-même pour apprendre. Mais bien sûr j'ai quand même besoin d'aide!!!
donc dans mon projet la dernière chose qu'il me reste à faire c'est d'afficher un message quand la cellule cliquée ne correspond pas à une cellule où il y a les jours du mois encours.
code css
#tableCal .couleurvide { background-color : #E0FFFF;color:#808080;}
le code pour récupérer la cellule cliquée et savoir si elle correspond à un jour du mois en cours
$("#tableCal td").on('click', function () {
// On récupère la cellule cliquée
var clickedCell = $(this);
if ($(this).class === 'couleurvide'){
alert('Cette date ne correspond pas au mois');
}
else {
tableText(clickedCell);
}
});
'couleurvide' est la class attribuée aux cellules des jours qui ne sont pas les jours du mois.
Le if ne fonctionne pas.
Nexii
Messages postés
338
Date d'inscription
jeudi 13 mars 2014
Statut
Membre
Dernière intervention
14 mars 2017
575
7 févr. 2017 à 10:44
7 févr. 2017 à 10:44
Bonjour,
Oui mais comme tu disais n'être pas arrivé à les faire fonctionné, je te donnais un moyen simple. C'est bien plus formateur de le créer toi-même tu as raison :).
Pour ton problème, si ton élément a plusieurs classe alors l'égalité ne pourra pas fonctionner, et je sais que ton élément possède plus d'une classe !
Tu dois récupérer l'ensemble des classes dans un tableau, puis le parcourir pour matcher celle que tu veux :
Un petit tips pour tes class/id. En informatique on utilise l'écriture CamelCase. Cela signifie que pour une meilleure lisibilité dans les classes, variables, fonctions, on met des majuscules à tous les mots. Ta classe couleurvide devient alors couleurVide ou CouleurVide.
Bon courage.
Passe le sujet en Résolu lorsque tu auras terminé :).
Oui mais comme tu disais n'être pas arrivé à les faire fonctionné, je te donnais un moyen simple. C'est bien plus formateur de le créer toi-même tu as raison :).
Pour ton problème, si ton élément a plusieurs classe alors l'égalité ne pourra pas fonctionner, et je sais que ton élément possède plus d'une classe !
Tu dois récupérer l'ensemble des classes dans un tableau, puis le parcourir pour matcher celle que tu veux :
var clickedCellId = $(this).id; // Si tes cellules ont un ID, sinon trouve un autre moyen de matcher la ligne du dessous var classList = document.getElementById(clickedCellId).className.split(/\s+/); for (var i = 0; i < classList.length; i++) { if (classList[i] === 'couleurvide') { //do something } }
Un petit tips pour tes class/id. En informatique on utilise l'écriture CamelCase. Cela signifie que pour une meilleure lisibilité dans les classes, variables, fonctions, on met des majuscules à tous les mots. Ta classe couleurvide devient alors couleurVide ou CouleurVide.
Bon courage.
Passe le sujet en Résolu lorsque tu auras terminé :).
philip51
Messages postés
49
Date d'inscription
vendredi 6 janvier 2017
Statut
Membre
Dernière intervention
25 février 2020
>
Nexii
Messages postés
338
Date d'inscription
jeudi 13 mars 2014
Statut
Membre
Dernière intervention
14 mars 2017
9 févr. 2017 à 09:15
9 févr. 2017 à 09:15
Merci pour toute l'aide
30 janv. 2017 à 17:41
J'ai bien l'id du bouton dans la fonction affiche_Cal(obj) mais comment je passe l'id à la function tableText(tableCell) puisque c'est là que je vais définir quel bouton est cliqué pour écrire la date dans l'input text.
Modifié par Nexii le 31/01/2017 à 09:55
Ta fonction tableText est appelée dans la fonction affich_cal n'est-ce pas ?
donc :
31 janv. 2017 à 16:34
les fonctions
Le problème se situe ici. Quand je clique sur les boutons "<" et ">" l'entête avance ou recule bien d'un mois mais le calendrier ne bouge pas
Code HTML
les fonctions pour avancer ">"
si j'enlève tout ce qui se rapporte au bouton : var inputId = obj.id le calendrier avance ou recule normalement !!
31 janv. 2017 à 16:56
Sinon tu peux upload une archive sur https://wetransfer.com/ ?
31 janv. 2017 à 17:26
je le charge sur l'adresse indiquée.
merci