( PhP, javascript ) Problème chargement page
Résolu/Fermé
le_joker_fou
Messages postés
764
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
7 août 2014
-
5 août 2009 à 11:33
le_joker_fou Messages postés 764 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 7 août 2014 - 5 août 2009 à 14:11
le_joker_fou Messages postés 764 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 7 août 2014 - 5 août 2009 à 14:11
A voir également:
- ( PhP, javascript ) Problème chargement page
- Supprimer une page word - Guide
- Telecharger javascript - Télécharger - Langages
- Word numéro de page 1/2 - Guide
- Comment traduire une page - Guide
- Mettre google en page d'accueil - Guide
6 réponses
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
5 août 2009 à 14:07
5 août 2009 à 14:07
Alors,
L'instruction : document.getElementById("bidule"), comme son nom l'indique, tu retourne l'objet et non la valeur.
Si tu souhaite récupérer la valeur, il faut alors que tu l'extraie de l'objet. Ceci se fera de plusieurs façon selon le type d'objet que tu récupère. Par exemple si c'est un champ TEXT, tu fera .value sur l'objet pour récupérer la valeur. Si c'est une liste, objet.options[objet.options.selectedIndex].value. Si c'est autre chose, a toi de regarde la manière dont la valeur de ton objet se récupère sur Internet.
Bref, pour commencer, si tu utilise 'getElementById', il faut donner un identifiant 'id' à ton objet dans le code HTML / PHP. Si tu n'as donné qu'un nom, utilise 'getElementByName'. Cela dit, je te conseille fortement de n'utiliser toujours que 'getElementById', à part pour les checkbox où tu utilisera 'getElementsByName' car chaque checkbox possède le même nom (lit de la doc sur Internet si tu as besoin de plus de renseignement là dessus).
Pour ton code, tu devra donc avoir ceci :
Puis :
L'instruction : document.getElementById("bidule"), comme son nom l'indique, tu retourne l'objet et non la valeur.
Si tu souhaite récupérer la valeur, il faut alors que tu l'extraie de l'objet. Ceci se fera de plusieurs façon selon le type d'objet que tu récupère. Par exemple si c'est un champ TEXT, tu fera .value sur l'objet pour récupérer la valeur. Si c'est une liste, objet.options[objet.options.selectedIndex].value. Si c'est autre chose, a toi de regarde la manière dont la valeur de ton objet se récupère sur Internet.
Bref, pour commencer, si tu utilise 'getElementById', il faut donner un identifiant 'id' à ton objet dans le code HTML / PHP. Si tu n'as donné qu'un nom, utilise 'getElementByName'. Cela dit, je te conseille fortement de n'utiliser toujours que 'getElementById', à part pour les checkbox où tu utilisera 'getElementsByName' car chaque checkbox possède le même nom (lit de la doc sur Internet si tu as besoin de plus de renseignement là dessus).
Pour ton code, tu devra donc avoir ceci :
var obj = document.getElementById("select_date"); if ( obj ){ var new_url = text + "&Date=" + obj.options[obj.options.selectedIndex].value; }
Puis :
echo "<select id='select_date' name='select_date' size='1' onChange=\"javascript:reload_page ('$url');\">";
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
5 août 2009 à 13:37
5 août 2009 à 13:37
Bonjour,
La seule chose qui me choque vraiment dans ton code, c'est cette partie :
Le mieux est de faire :
Le mieux pour détecter l'erreur, ce serait de visualiser / faire tourner ta page sous FireFox, puis tu ouvre "Outils->Console d'erreur" et tu regarde si tu n'as pas des erreurs sur ta page (après avoir fait tes actions)
Si c'est le cas il faudrait que tu regarde à quelle ligne, et de quel type / libellé d'erreur il s'agit (post le pour nous le faire partager, on trouvera certainement).
La seule chose qui me choque vraiment dans ton code, c'est cette partie :
document.all.select_date.value
Le mieux est de faire :
document.all.select_date.options[document.all.select_date.options.selectedIndex].value;
Le mieux pour détecter l'erreur, ce serait de visualiser / faire tourner ta page sous FireFox, puis tu ouvre "Outils->Console d'erreur" et tu regarde si tu n'as pas des erreurs sur ta page (après avoir fait tes actions)
Si c'est le cas il faudrait que tu regarde à quelle ligne, et de quel type / libellé d'erreur il s'agit (post le pour nous le faire partager, on trouvera certainement).
le_joker_fou
Messages postés
764
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
7 août 2014
239
5 août 2009 à 13:46
5 août 2009 à 13:46
Bonjour,
Merci pour ta réponse en faisant les modifications que tu m'a donné cela fonctionne. Pour information l'erreur était la suivant
document.all is undefined
<SCRIPT language="Javascript">
function reload_page(text)
{
var new_url = text + "&Date=" + document.all.select_date.value;
window.location = new_url;
}
</SCRIPT>
Mais maintenant cela fonctionne même si je ne sais toujours pas pourquoi avant il fallait que je fasse un print $url.
Merci beaucoup.
Merci pour ta réponse en faisant les modifications que tu m'a donné cela fonctionne. Pour information l'erreur était la suivant
document.all is undefined
<SCRIPT language="Javascript">
function reload_page(text)
{
var new_url = text + "&Date=" + document.all.select_date.value;
window.location = new_url;
}
</SCRIPT>
Mais maintenant cela fonctionne même si je ne sais toujours pas pourquoi avant il fallait que je fasse un print $url.
Merci beaucoup.
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
5 août 2009 à 13:49
5 août 2009 à 13:49
Erf, effectivement, j'ai repris ton code faux sans voir l'erreur ><
Faut dire que je préfère largement employer la syntaxe suivante pour récupérer un objet dans un document HTML:
document.getElementById("select_date") ou document.getElementByName("select_date" selon la manière dont tu as déclaré l'objet dans ta page.
Faut dire que je préfère largement employer la syntaxe suivante pour récupérer un objet dans un document HTML:
document.getElementById("select_date") ou document.getElementByName("select_date" selon la manière dont tu as déclaré l'objet dans ta page.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
le_joker_fou
Messages postés
764
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
7 août 2014
239
5 août 2009 à 14:00
5 août 2009 à 14:00
Désolé mais j'ai était trop hatif dans ma joie. En fait une fois la page fermé puis réouvert il recommence la même erreur.
J'ai donc modifié la ligne en :
var new_url = text + "&Date=" + document.getElementById("select_date");
et j'ai rajouté au champ select id='select_date'
Mais dans l'url il me met " [object HTMLSelectElement] " au lieu de la date. La je ne comprend plus.
J'ai donc modifié la ligne en :
var new_url = text + "&Date=" + document.getElementById("select_date");
et j'ai rajouté au champ select id='select_date'
Mais dans l'url il me met " [object HTMLSelectElement] " au lieu de la date. La je ne comprend plus.
le_joker_fou
Messages postés
764
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
7 août 2014
239
5 août 2009 à 14:11
5 août 2009 à 14:11
Ok merci pour tous ces détails, maintenant cela fonctionne même après avoir fermé puis ré-ouvert une page ^^.
Je te remercie du temps passé sur mon problème.
Bonne après midi.
Je te remercie du temps passé sur mon problème.
Bonne après midi.