comment tester un champ hidden

Le
J-F Portala
Bonjour,

j'ai créé un formulaire qui au chargement va se placer sur un champ
particulier.
Au chargement, je lance une fonction javascript qui si lme champ est défini,
lui donne le focus.
if ( document.form.nomchamp != undefined )
document.form.nomchamp.focus() ;

Dans certains cas je dois placer ce champ en hidden.
Je dois donc donner le focus à un autre champ.
Le probleme est que le champ est défini dans le formulaire.
Je pense qu'il doit y avoir une propriété à tester qui me permettrait de ne
pas valider le test décrit plus haut.
(en fait vérifier si le champ est hidden)

Merci de votre aide.

J'ai déjà passé du temps sur internet sans trouver la solution. Cette
demande n'a pas l'air courante.

JEff
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
SAM
Le #22030451
J-F Portala a écrit :
Bonjour,

j'ai créé un formulaire qui au chargement va se placer sur un champ
particulier.
Au chargement, je lance une fonction javascript qui si le champ est défini,
lui donne le focus.
if ( document.form.nomchamp != undefined )
document.form.nomchamp.focus() ;



if ( document.form.nomchamp &&
document.form.nomchamp.type &&
document.form.nomchamp.type != 'hidden')
document.form.nomchamp.focus();
else
...



function focuser() {
for(var i=0; i<arguments.length; i++)
if ( document.form[arguments[i]] &&
document.form[arguments[i]].type &&
document.form[arguments[i]].type != 'hidden')
{
document.form[arguments[i]].focus();
return;
}
}

window.onload = function() {
focuser('chp_1', 'chp_2', 'chp_10', 'autrechp');
}

devrait donner le focus au 1er des champs indiqués qui ne sera pas hidden




Et si on veut donner le focus au premier champ-texte du form :


window.onload = function() {
var f = document.form,
n = f.length;
for(var i=0; i<n; i++)
if ( f[i] && f[i].type && f[i].type == 'text')
{
f[i].focus();
return;
}
};


--
sm
Mickaël Wolff
Le #22030441
J-F Portala a écrit :
Bonjour,



Bonjour,

j'ai créé un formulaire qui au chargement va se placer sur un champ
particulier.
Au chargement, je lance une fonction javascript qui si lme champ est défini,
lui donne le focus.
if ( document.form.nomchamp != undefined )
document.form.nomchamp.focus() ;



Je penses que tu es passé a côté d'une fonctionnalité du HTML qui te
permet de faire ça :

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Pierre Goiffon
Le #22030431
Mickaël Wolff wrote:
j'ai créé un formulaire qui au chargement va se placer sur un champ
particulier.
Au chargement, je lance une fonction javascript qui si lme champ est défini,
lui donne le focus.
if ( document.form.nomchamp != undefined )
document.form.nomchamp.focus() ;



Je penses que tu es passé a côté d'une fonctionnalité du HTML qui te
permet de faire ça :



????
Pas compris la réponse ??
Pierre Goiffon
Le #22030421
SAM wrote:
if ( document.form.nomchamp != undefined )
document.form.nomchamp.focus() ;



if ( document.form.nomchamp &&
document.form.nomchamp.type &&
document.form.nomchamp.type != 'hidden')
document.form.nomchamp.focus();
else
...



Excellent ! Je ne connaissais pas cette propriété type ! Est-elle bien
supportée sur tous les navigateurs, et prend bien en compte les
modifications via CSS "statique" ou appliquée dynamiquement via JS ?
Mickaël Wolff
Le #22030411
Pierre Goiffon a écrit :

????
Pas compris la réponse ??



Ce que tu veux faire est déjà une fonctionnalité existante de l'HTML,
tu n'as donc pas besoin de te casser la tête avec du Javascript.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
J-F Portala
Le #22030401
Merci,
c'est exactement ce que je cherchais.
Jeff
Olivier Miakinen
Le #22030391
Le 07/07/2008 16:55, Pierre Goiffon a écrit :

Au chargement, je lance une fonction javascript qui si lme champ est défini,
lui donne le focus.
if ( document.form.nomchamp != undefined )
document.form.nomchamp.focus() ;



Je penses que tu es passé a côté d'une fonctionnalité du HTML qui te
permet de faire ça :



????
Pas compris la réponse ??



C'est peut-être que Mickaël aurait pu être encore un peu plus précis
dans sa réponse à J.-F. Portala :
http://www.w3.org/TR/html4/interact/forms.html#h-17.11.1

L'attribut tabindex fait exactement ce que voulait faire J.-F.
SAM
Le #22030381
Pierre Goiffon a écrit :
SAM wrote:
if ( document.form.nomchamp != undefined )
document.form.nomchamp.focus() ;



if ( document.form.nomchamp &&
document.form.nomchamp.type &&
document.form.nomchamp.type != 'hidden')
document.form.nomchamp.focus();
else
...



Excellent ! Je ne connaissais pas cette propriété type ! Est-elle bien
supportée sur tous les navigateurs, et prend bien en compte les
modifications via CSS "statique" ou appliquée dynamiquement via JS ?




Moi, j'en sais rien,
j'ai fait et pi valà,
normalement ça marche
(sauf avec IE Mac : 'type' est read-only pour lui,
alors même pour lire y veut pô).

<input type="hidden" name="monchamp">

monchamp existe ?
monchamp a un attribut 'type' ?
l'attribut 'type' de monchamp est différent de 'hidden' ?

de toute la manière c'est du JS d'avant le DOM ça doit donc être compris
par tout brouteur embarquant un minimum de JS

je ne vois pas ce que viennent faire les CSS dans l'histoire


--
sm
SAM
Le #22030371
Olivier Miakinen a écrit :
Le 07/07/2008 16:55, Pierre Goiffon a écrit :
Au chargement, je lance une fonction javascript qui si lme champ est défini,
lui donne le focus.
if ( document.form.nomchamp != undefined )
document.form.nomchamp.focus() ;


Je penses que tu es passé a côté d'une fonctionnalité du HTML qui te
permet de faire ça :


????
Pas compris la réponse ??



C'est peut-être que Mickaël aurait pu être encore un peu plus précis
dans sa réponse à J.-F. Portala :
http://www.w3.org/TR/html4/interact/forms.html#h-17.11.1

L'attribut tabindex fait exactement ce que voulait faire J.-F.




Parceque tabindex marche tout seul chez vous ?
(après chargement de la page vous êtes jetés directement dans le
tabindexé N°1 ?)

--
sm
Olivier Miakinen
Le #22030361
Le 07/07/2008 19:43, SAM a écrit :

L'attribut tabindex fait exactement ce que voulait faire J.-F.



Parceque tabindex marche tout seul chez vous ?
(après chargement de la page vous êtes jetés directement dans le
tabindexé N°1 ?)



Tu me fais douter. Pourtant il me semblait bien l'avoir testé dans une
vie antérieure, et que cela avait marché.
Publicité
Poster une réponse
Anonyme