( PhP, javascript ) Problème chargement page
Résolu
le_joker_fou
Messages postés
765
Date d'inscription
Statut
Membre
Dernière intervention
-
le_joker_fou Messages postés 765 Date d'inscription Statut Membre Dernière intervention -
le_joker_fou Messages postés 765 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- ( PhP, javascript ) Problème chargement page
- Supprimer page word - Guide
- Imprimer tableau excel sur une page - Guide
- Page d'accueil - Guide
- Telecharger javascript - Télécharger - Langages
- Page privée - Guide
6 réponses
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');\">";
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).
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.
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
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.