Insérer l'heure dans une zone texte via l'évènement onclick [Résolu]

ecolom 68 Messages postés vendredi 4 juin 2004Date d'inscription 1 décembre 2012 Dernière intervention - 22 avril 2010 à 11:04 - Dernière réponse : PetoleTeam 3435 Messages postés lundi 26 décembre 2005Date d'inscription 14 janvier 2011 Dernière intervention
- 24 avril 2010 à 10:51
Bonjour à tous,

je cherche en vains une fonction qui me permet d'insérer l'heure via un onclick dans une zone input.
En effet, j'ai un formulaire avec lequel j'effectue des accueils de sous-traitants. Je dois encoder son heure d'entrée et son heure de sortie.
Il y a 10 zones heures d'entrées et 10 pour les sorties.
Afin de faciliter l'encodage j'aimerais que en cliquant sur la zone, l'heure s'insère automatiquement.
J'ai trouvé une fonction heure. mais je ne parviens pas à exécuter l'évènement onclick.
Bout de code ci dessous:

<script>
function showTime()
{
var myDate = new Date();
var time = myDate.getTime();
var hour = myDate.getHours();
var minute = myDate.getMinutes();
var second = myDate.getSeconds();
if (hour < 10) { hour = "0" + hour; }
if (minute < 10) { minute = "0" + minute; }
if (second < 10) { second = "0" + second; }
var theDate = " " + hour + ":" + minute + ":" + second;
document.all('hourPanel').innerHTML=theDate;
setTimeout("showTime();",1000);
}
</script>

et dans mon body :



Avez-vous une idée ou une indication sur ce qui cloche ?
Merci pour votre aide.
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
@karamel 1660 Messages postés vendredi 9 mai 2008Date d'inscription 12 août 2018 Dernière intervention - 22 avril 2010 à 15:22
3
Merci
onclick = "showTime('HE1');"/>

Merci @karamel 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 73 internautes ce mois-ci

Commenter la réponse de @karamel
@karamel 1660 Messages postés vendredi 9 mai 2008Date d'inscription 12 août 2018 Dernière intervention - 22 avril 2010 à 11:39
0
Merci
document.all('hourPanel').innerHTML=theDate; 


remplace le par

document.getElementById('HE1').value=theDate
Commenter la réponse de @karamel
ecolom 68 Messages postés vendredi 4 juin 2004Date d'inscription 1 décembre 2012 Dernière intervention - 22 avril 2010 à 12:10
0
Merci
Merci Kazma,

effectivement, ça fonctionne sauf que l'heure est dynamique dans ma zone. j'ai retiré la ligne de mise à jour car l'heure doit être figée au moment ou on clique.
Super pour cette réponse si rapide d'autant que je cherche depuis un moment.
Cependant ( et oui désolé ) un problème en engendre un autre...
En sachant que j'ai 10 zones d'heures séparées, comment faire pour donner l'heure à tout moment mais sans perturber les autres zones.
A partir du script, j'ai ajouté ta solution + document.getElementById('HS1').value=theDate
Je me suis dis que en ajoutant ces 10 lignes le système allait réagir indépendemment.
Ce qu'il se passe c'est que quand je clique sur la zone HE1, elle est alimentée de l'heure ainsi que la zone HS2. Ce que je ne veux pas puisque je gère des entrées et sorties différentes. Idem quand je clique sur la zone HS2, le HE1 prend l'heure de la HE2.
Je ne dois quand même pas écrire 20 fonctions différentes ?

As-tu une indication ?

Merci
Commenter la réponse de ecolom
@karamel 1660 Messages postés vendredi 9 mai 2008Date d'inscription 12 août 2018 Dernière intervention - 22 avril 2010 à 12:53
0
Merci
alimente la fonction par l'id concerné
function showTime(elementcible)
{
var myDate = new Date();
var time = myDate.getTime();
var hour = myDate.getHours();
var minute = myDate.getMinutes();
var second = myDate.getSeconds();
if (hour < 10) { hour = "0" + hour; }
if (minute < 10) { minute = "0" + minute; }
if (second < 10) { second = "0" + second; }
var theDate = " " + hour + ":" + minute + ":" + second;
document.getElementById(elementcible).value=theDate
} 


 
 
...etc
Commenter la réponse de @karamel
ecolom 68 Messages postés vendredi 4 juin 2004Date d'inscription 1 décembre 2012 Dernière intervention - 22 avril 2010 à 13:15
0
Merci
Commenter la réponse de ecolom
ecolom 68 Messages postés vendredi 4 juin 2004Date d'inscription 1 décembre 2012 Dernière intervention - 22 avril 2010 à 13:20
0
Merci
Cela ne focntionne pas.
mes zones sont :
<input type="text" name="HE1" id="HE1" size="8" style="background-color: #CCCCCC"...
<input type="text" name="HS1" id="HS1" size="8" style="background-color: #CCCCCC"...
<input type="text" name="HE2" id="HE2" size="8" style="background-color: #CCCCCC"...
<input type="text" name="HS2" id="HS2" size="8" style="background-color: #CCCCCC"...etc...

Quand j'applique ta solution, les zones ne sont plus du tout alimentées.
Je suppose qu'il manque quelque chose ?

Je continue mes tests mais si tu remarques une anomalie, je suis preneur.

Merci
Commenter la réponse de ecolom
@karamel 1660 Messages postés vendredi 9 mai 2008Date d'inscription 12 août 2018 Dernière intervention - 22 avril 2010 à 15:20
0
Merci
j'ai fait une erreur dans ce je j'ai mis oublier les guillemets

onclick = "showTime("HE1");"/>
Commenter la réponse de @karamel
ecolom 68 Messages postés vendredi 4 juin 2004Date d'inscription 1 décembre 2012 Dernière intervention - 22 avril 2010 à 17:25
0
Merci
Merci Kazma.
cela fonctionne maintenant.
Commenter la réponse de ecolom
PetoleTeam 3435 Messages postés lundi 26 décembre 2005Date d'inscription 14 janvier 2011 Dernière intervention - 24 avril 2010 à 10:51
0
Merci
Bonjour à vous,
pourquoi passer l'ID pour récupérer l'objet dans la fonction et pas l'objet directement
et dans la fonction

function showTime( this_){
  // le code ici...
  this_.value = theDate;
} 
cela ne marchera pas mieux mais bon...!
;O)
Commenter la réponse de PetoleTeam

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.