Header (paralysant...)

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

16 mai 2006, 12:12

P'tit cours de Dom :)

l'objet "document" est la page en cours
l'objet "location" de "document" correspond à la bare d'adresse du navigateur
l'objet "forms" est un tableau de "document" contenant la liste des formulaires présents dans la page

la méthode reload() s'applique sur l'url (donc location)
la méthode submit() s'applique sur un formulaire

Code : Tout sélectionner

document.forms['grosminet'].submit();
ou

Code : Tout sélectionner

document.location.reload();
mais pas

Code : Tout sélectionner

document.location.forms['grosminet'].submit(); ni document.forms['titit'].reload();
:)

Eléphant du PHP | 124 Messages

16 mai 2006, 12:18

Merci Ryle tres interressant (et nécessaire)

Mais en fait je m'aperçoit que mon probème est d'autant plus compliqué...

Comment garder la fonctionalité forms() de ma liste déroulante tout en ne me faisant pas supprimer mes parametres url a chaque fois !!

Entre parenthèse je ne comprend pas pourquoi le rechargement de mon formulaire influe sur mon URL....c'est tres tres tres embettant ... pour etre poli!

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

16 mai 2006, 12:36

Quand tu vas poster le formulaire, même si tu rappelles la page en cours, aucun des paramètres qui t'ont permis d'y accéder ne seront renvoyés si tu ne les spécifies pas explicitement.

Si tu accèdes à ta page form.php?id=1, il te faudra obligatoirement ajouter le paramètre id=1 dans l'action de ton formulaire (c'est pas très joli) ou en champ caché (c'est plus propre). Sinon pas moyen de le récupérer car l'envoi du formulaire se fera vers une "nouvelle page" (même si ça reste la même) spécifiée dans l'attribut action.

La fonction reload() elle recharge effectivement la page avec les paramètres qui ont été spécifiés pour y accéder, mais ne permet pas d'en ajouter (c'est ni plus ni moins qu'un "actualiser" du navigateur)

Voilà, j'espère que ca te permet d'y voir un peu plus clair :)

Eléphant du PHP | 124 Messages

16 mai 2006, 12:58

Ben oui merci j'y voit de suite un peu mieu...comme quoi ça sert de savoir.. :wink:

Mais ce que je comprend pas c'est que j'ai aucune adresse spécifié dans mon attribut 'action'....

Apres édition:
Ah ben si j'ai "<?php echo($_SERVER['PHP_SELF']); ?>" toutes mes excuses..

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

16 mai 2006, 13:45

Niark niark ! ;)

Cela dit, pour la plupart des navigateurs, cela revient au même de toute façon, si l'attribut action n'est pas renseigné ou est vide, ils envoient par défaut les données du formulaire à la page en cours :)

(m'enfin comme ca dépend des navigateurs et des versions, vaut mieux quand même le préciser, ca coute pas plus cher :))

Eléphant du PHP | 124 Messages

16 mai 2006, 14:29

Autre petite question (t'en qu'a faire...):

je cherche un bout de code qui me permette d'actualiser ma page si ma condition est remplie....

Vous voyez?