Retour de date via onload

Mammouth du PHP | 545 Messages

18 janv. 2007, 16:35

Salut,

Je recherche le moyen de renvoyer la date du jour par défaut dans un input et j'ai pensé faire cela via un onload mais rien ne se passe !

Je dépose les morceaux de code que j'utilise au cas où mon erreur vous saute aux yeux:
<input name="date" type="text" id="date" value="" onload="jourtest();"/>
et le code qui n'est pas de moi !

Code : Tout sélectionner

// **************************** Fonction 'Date du jour' *************************** function jourtest(){ /* SCRIPT EDITE SUR L'EDITEUR JAVASCRIPT http://www.editeurjavascript.com */ navvers = navigator.appVersion.substring(0,1); if (navvers > 3) navok = true; else navok = false; today = new Date; numero = today.getDate(); if (numero<10) numero = "0"+numero; mois = today.getMonth(); if (navok) annee = today.getFullYear(); else annee = today.getYear(); mois++; if (mois < 10) mois = "0" + mois; messageDate = numero + "/" + mois + "/" + annee; document.forms.test.jourtest.value = (messageDate); } // **************************** Fin de la fonction 'Date du jour' ***************************
Si j'ai fait cela dans une balise <input> c'est que je voudrais que le visiteur puisse changer la date avant la mise en base de donnée.

Merci
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

18 janv. 2007, 17:03

L'attribut onLoad est propre à la balise <body> et au chargement de la page. Tu ne peux donc pas l'utiliser dans ton input :)

Tu peux donc soit déplacer l'appel et le onload dans ton body

Code : Tout sélectionner

<body onload="jourtest();"> ... <input name="date" type="text" id="date" value="" /> ...
soit faire cet appel dans un script placé après la déclaration du champ

Code : Tout sélectionner

<input name="date" type="text" id="date" value="" /> ... <script language="javascript"> jourtest(); </script>
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 545 Messages

18 janv. 2007, 23:53

Re,

J'ai essayé comme tu me l'as proposé:

1er proposition:
Il se fait que j'essaye de faire un composant pour un CMS (Joomla!) et il n'y a pas de balise <body>. De la création de ce composant, j'en ai fait un blog !

2e proposition:
J'ai une erreur de la 'Console JavaScript de FF' qui dit: "document.forms.test.jourtest has no properties"

Que puis-je faire ? Y'a-t-il un autre moyen de renvoyer la date du jour par défaut ?

Merci
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

19 janv. 2007, 10:52

Si tu as cette erreur, c'est que la fonction est correctement appelée, en revanche ta syntaxe pour accéder à la propriété value de ton champ n'est pas bonne :

Code : Tout sélectionner

document.nom_formulaire.jourtest.value document.forms["nom_formulaire"].jourtest.value document.getElementById("id_formulaire").jourtest.value
en remplaçant nom_formulaire (ou id_formulaire selon celle que tu utilises) avec les infos du formulaire, devraient fonctionner d'avantage :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 545 Messages

20 janv. 2007, 14:04

Voilà, je répond un peu tardivement pour dire que j'ai complètement changé d'optique ... j'ai fait ceci:
<input name="datejour" type="text" id="datejour" value="<?php echo date('d-m-Y'); ?>" maxlength="10" onBlur="checkdate(this);"/>
Merci beaucoup
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!