Bonjour à tous,
J'ai fait le comportement suivant:
Lorsqu'un élément d'un formulaire perd le focus apres changement du contenu,
je poste ledit formulaire et recharge le formulaire (avec le changement bien
sur)
onchange="submit();"
Typiquement, je modifie un input, et je clicque sur un autre (==> form post)
Mais lorsque le post se produit et que le formulaire se recharge, je perds
(et c'est plutôt logic) le focus de l'élément nouvellement cliqué avant le
post.
j'ai tordu le pb dans plein de sens, et je crains une certaine complexité.
Quelqu'un a-t-il deja rencontré ce genre de problématique? Si ca se trouve,
c'est tout bête ...
D'avance merci.
Frisco
Bonjour à tous,
J'ai fait le comportement suivant:
Lorsqu'un élément d'un formulaire perd le focus apres changement du contenu,
je poste ledit formulaire et recharge le formulaire (avec le changement bien
sur)
onchange="submit();"
Typiquement, je modifie un input, et je clicque sur un autre (==> form post)
Mais lorsque le post se produit et que le formulaire se recharge, je perds
(et c'est plutôt logic) le focus de l'élément nouvellement cliqué avant le
post.
j'ai tordu le pb dans plein de sens, et je crains une certaine complexité.
Quelqu'un a-t-il deja rencontré ce genre de problématique? Si ca se trouve,
c'est tout bête ...
D'avance merci.
Frisco
Bonjour à tous,
J'ai fait le comportement suivant:
Lorsqu'un élément d'un formulaire perd le focus apres changement du contenu,
je poste ledit formulaire et recharge le formulaire (avec le changement bien
sur)
onchange="submit();"
Typiquement, je modifie un input, et je clicque sur un autre (==> form post)
Mais lorsque le post se produit et que le formulaire se recharge, je perds
(et c'est plutôt logic) le focus de l'élément nouvellement cliqué avant le
post.
j'ai tordu le pb dans plein de sens, et je crains une certaine complexité.
Quelqu'un a-t-il deja rencontré ce genre de problématique? Si ca se trouve,
c'est tout bête ...
D'avance merci.
Frisco
frisco avait écrit le 10/05/2006 :
Une idée comme ça :
un champ hidden nommé Focus
un onfocus sur les autres champs qui vont mettre le nom du champ sur lequel
on entre dans le champ hidden
onfocus="document.forms[0].focus.value=this.name"
Après le submit, on récupére les valeurs du formulaire (dont Focus) et on les
affecte à leurs champs respectifs puis, sur le onload de la page :
onload="if (document.forms[0].Focus.value!='')
eval('document.forms[0].'+document.forms[0].Focus.value+'.focus()')"
Quick, dirty et non testé mais à vue de nez ça devrait pouvoir fonctionner
frisco avait écrit le 10/05/2006 :
Une idée comme ça :
un champ hidden nommé Focus
un onfocus sur les autres champs qui vont mettre le nom du champ sur lequel
on entre dans le champ hidden
onfocus="document.forms[0].focus.value=this.name"
Après le submit, on récupére les valeurs du formulaire (dont Focus) et on les
affecte à leurs champs respectifs puis, sur le onload de la page :
onload="if (document.forms[0].Focus.value!='')
eval('document.forms[0].'+document.forms[0].Focus.value+'.focus()')"
Quick, dirty et non testé mais à vue de nez ça devrait pouvoir fonctionner
frisco avait écrit le 10/05/2006 :
Une idée comme ça :
un champ hidden nommé Focus
un onfocus sur les autres champs qui vont mettre le nom du champ sur lequel
on entre dans le champ hidden
onfocus="document.forms[0].focus.value=this.name"
Après le submit, on récupére les valeurs du formulaire (dont Focus) et on les
affecte à leurs champs respectifs puis, sur le onload de la page :
onload="if (document.forms[0].Focus.value!='')
eval('document.forms[0].'+document.forms[0].Focus.value+'.focus()')"
Quick, dirty et non testé mais à vue de nez ça devrait pouvoir fonctionner
frisco avait écrit le 10/05/2006 :
Une idée comme ça :
un champ hidden nommé Focus
un onfocus sur les autres champs qui vont mettre le nom du champ sur
lequel on entre dans le champ hidden
onfocus="document.forms[0].focus.value=this.name"
Après le submit, on récupére les valeurs du formulaire (dont Focus) et
on les affecte à leurs champs respectifs puis, sur le onload de la page :
Ca ne marchait pas
mais ce qui est ci-dessous oui (fait pour de
l'asp/vbscript mais ça ne devrait pas être difficile à adapter)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>
</head>
<body>
<form method="get">
<input name="champ1" onfocus="document.forms[0].Focus.value=this.name;
if (document.forms[0].Change.value=='1') this.form.submit();"
onchange="document.forms[0].Change.value='1'" /><br />
<input name="champ2" onfocus="document.forms[0].Focus.value=this.name;
if (document.forms[0].Change.value=='1') this.form.submit();"
onchange="document.forms[0].Change.value='1'" /><br />
<input type="hidden" name="Focus" />
<input type="hidden" name="Change" />
</form>
</body>
</html>
<script type="text/javascript">
document.forms[0].champ1.value='<% =Request("champ1") %>';
document.forms[0].champ2.value='<% =Request("champ2") %>';
document.forms[0].Focus.value='<% =Request("Focus") %>';
// On ignore volontairement la valeur de Change
if (document.forms[0].Focus.value!='')
eval('document.forms[0].'+document.forms[0].Focus.value+'.focus()');
</script>
frisco avait écrit le 10/05/2006 :
Une idée comme ça :
un champ hidden nommé Focus
un onfocus sur les autres champs qui vont mettre le nom du champ sur
lequel on entre dans le champ hidden
onfocus="document.forms[0].focus.value=this.name"
Après le submit, on récupére les valeurs du formulaire (dont Focus) et
on les affecte à leurs champs respectifs puis, sur le onload de la page :
Ca ne marchait pas
mais ce qui est ci-dessous oui (fait pour de
l'asp/vbscript mais ça ne devrait pas être difficile à adapter)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>
</head>
<body>
<form method="get">
<input name="champ1" onfocus="document.forms[0].Focus.value=this.name;
if (document.forms[0].Change.value=='1') this.form.submit();"
onchange="document.forms[0].Change.value='1'" /><br />
<input name="champ2" onfocus="document.forms[0].Focus.value=this.name;
if (document.forms[0].Change.value=='1') this.form.submit();"
onchange="document.forms[0].Change.value='1'" /><br />
<input type="hidden" name="Focus" />
<input type="hidden" name="Change" />
</form>
</body>
</html>
<script type="text/javascript">
document.forms[0].champ1.value='<% =Request("champ1") %>';
document.forms[0].champ2.value='<% =Request("champ2") %>';
document.forms[0].Focus.value='<% =Request("Focus") %>';
// On ignore volontairement la valeur de Change
if (document.forms[0].Focus.value!='')
eval('document.forms[0].'+document.forms[0].Focus.value+'.focus()');
</script>
frisco avait écrit le 10/05/2006 :
Une idée comme ça :
un champ hidden nommé Focus
un onfocus sur les autres champs qui vont mettre le nom du champ sur
lequel on entre dans le champ hidden
onfocus="document.forms[0].focus.value=this.name"
Après le submit, on récupére les valeurs du formulaire (dont Focus) et
on les affecte à leurs champs respectifs puis, sur le onload de la page :
Ca ne marchait pas
mais ce qui est ci-dessous oui (fait pour de
l'asp/vbscript mais ça ne devrait pas être difficile à adapter)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>
</head>
<body>
<form method="get">
<input name="champ1" onfocus="document.forms[0].Focus.value=this.name;
if (document.forms[0].Change.value=='1') this.form.submit();"
onchange="document.forms[0].Change.value='1'" /><br />
<input name="champ2" onfocus="document.forms[0].Focus.value=this.name;
if (document.forms[0].Change.value=='1') this.form.submit();"
onchange="document.forms[0].Change.value='1'" /><br />
<input type="hidden" name="Focus" />
<input type="hidden" name="Change" />
</form>
</body>
</html>
<script type="text/javascript">
document.forms[0].champ1.value='<% =Request("champ1") %>';
document.forms[0].champ2.value='<% =Request("champ2") %>';
document.forms[0].Focus.value='<% =Request("Focus") %>';
// On ignore volontairement la valeur de Change
if (document.forms[0].Focus.value!='')
eval('document.forms[0].'+document.forms[0].Focus.value+'.focus()');
</script>
frisco avait écrit le 10/05/2006 :
Une idée comme ça :
un champ hidden nommé Focus
un onfocus sur les autres champs qui vont mettre le nom du champ sur
lequel on entre dans le champ hidden
onfocus="document.forms[0].focus.value=this.name"
Après le submit, on récupére les valeurs du formulaire (dont Focus) et on
les affecte à leurs champs respectifs puis, sur le onload de la page :
Ca ne marchait pas
et ceci :
onload=" var leFocus = '';
if(document.forms && document.forms[0]['Focus']) {
leFocus = document.forms[0].Focus.value;
if(leFocus && leFocus != '')
with(document.forms[0].elements[leFocus])
{
focus();
select();
}
}
??mais ce qui est ci-dessous oui (fait pour de
l'asp/vbscript mais ça ne devrait pas être difficile à adapter)
alors :
onload=" var leFocus = '<% =Request("Focus") %>';
if(leFocus.length>0)
with(document.forms[0].elements[leFocus]){focus();select();}"
<input type="hidden" name="Focus" />
et pourquoi ce n'est pas fait direct par l'asp ?
<input type="hidden" name="Focus" value="<% =Request("Focus") %>" />
<input type="hidden" name="Change" />
pas compris son utilité
frisco avait écrit le 10/05/2006 :
Une idée comme ça :
un champ hidden nommé Focus
un onfocus sur les autres champs qui vont mettre le nom du champ sur
lequel on entre dans le champ hidden
onfocus="document.forms[0].focus.value=this.name"
Après le submit, on récupére les valeurs du formulaire (dont Focus) et on
les affecte à leurs champs respectifs puis, sur le onload de la page :
Ca ne marchait pas
et ceci :
onload=" var leFocus = '';
if(document.forms && document.forms[0]['Focus']) {
leFocus = document.forms[0].Focus.value;
if(leFocus && leFocus != '')
with(document.forms[0].elements[leFocus])
{
focus();
select();
}
}
??
mais ce qui est ci-dessous oui (fait pour de
l'asp/vbscript mais ça ne devrait pas être difficile à adapter)
alors :
onload=" var leFocus = '<% =Request("Focus") %>';
if(leFocus.length>0)
with(document.forms[0].elements[leFocus]){focus();select();}"
<input type="hidden" name="Focus" />
et pourquoi ce n'est pas fait direct par l'asp ?
<input type="hidden" name="Focus" value="<% =Request("Focus") %>" />
<input type="hidden" name="Change" />
pas compris son utilité
frisco avait écrit le 10/05/2006 :
Une idée comme ça :
un champ hidden nommé Focus
un onfocus sur les autres champs qui vont mettre le nom du champ sur
lequel on entre dans le champ hidden
onfocus="document.forms[0].focus.value=this.name"
Après le submit, on récupére les valeurs du formulaire (dont Focus) et on
les affecte à leurs champs respectifs puis, sur le onload de la page :
Ca ne marchait pas
et ceci :
onload=" var leFocus = '';
if(document.forms && document.forms[0]['Focus']) {
leFocus = document.forms[0].Focus.value;
if(leFocus && leFocus != '')
with(document.forms[0].elements[leFocus])
{
focus();
select();
}
}
??mais ce qui est ci-dessous oui (fait pour de
l'asp/vbscript mais ça ne devrait pas être difficile à adapter)
alors :
onload=" var leFocus = '<% =Request("Focus") %>';
if(leFocus.length>0)
with(document.forms[0].elements[leFocus]){focus();select();}"
<input type="hidden" name="Focus" />
et pourquoi ce n'est pas fait direct par l'asp ?
<input type="hidden" name="Focus" value="<% =Request("Focus") %>" />
<input type="hidden" name="Change" />
pas compris son utilité
frisco avait écrit le 10/05/2006 :Bonjour à tous,
J'ai fait le comportement suivant:
Lorsqu'un élément d'un formulaire perd le focus apres changement du
contenu, je poste ledit formulaire et recharge le formulaire (avec le
changement bien sur)
onchange="submit();"
Typiquement, je modifie un input, et je clicque sur un autre (==> form
post)
Mais lorsque le post se produit et que le formulaire se recharge, je
perds (et c'est plutôt logic) le focus de l'élément nouvellement
cliqué avant le post.
j'ai tordu le pb dans plein de sens, et je crains une certaine
complexité.
Quelqu'un a-t-il deja rencontré ce genre de problématique? Si ca se
trouve, c'est tout bête ...
D'avance merci.
Frisco
Une idée comme ça :
un champ hidden nommé Focus
un onfocus sur les autres champs qui vont mettre le nom du champ sur
lequel on entre dans le champ hidden
onfocus="document.forms[0].focus.value=this.name"
Après le submit, on récupére les valeurs du formulaire (dont Focus) et
on les affecte à leurs champs respectifs puis, sur le onload de la page :
onload="if (document.forms[0].Focus.value!='')
eval('document.forms[0].'+document.forms[0].Focus.value+'.focus()')"
Quick, dirty et non testé mais à vue de nez ça devrait pouvoir fonctionner
frisco avait écrit le 10/05/2006 :
Bonjour à tous,
J'ai fait le comportement suivant:
Lorsqu'un élément d'un formulaire perd le focus apres changement du
contenu, je poste ledit formulaire et recharge le formulaire (avec le
changement bien sur)
onchange="submit();"
Typiquement, je modifie un input, et je clicque sur un autre (==> form
post)
Mais lorsque le post se produit et que le formulaire se recharge, je
perds (et c'est plutôt logic) le focus de l'élément nouvellement
cliqué avant le post.
j'ai tordu le pb dans plein de sens, et je crains une certaine
complexité.
Quelqu'un a-t-il deja rencontré ce genre de problématique? Si ca se
trouve, c'est tout bête ...
D'avance merci.
Frisco
Une idée comme ça :
un champ hidden nommé Focus
un onfocus sur les autres champs qui vont mettre le nom du champ sur
lequel on entre dans le champ hidden
onfocus="document.forms[0].focus.value=this.name"
Après le submit, on récupére les valeurs du formulaire (dont Focus) et
on les affecte à leurs champs respectifs puis, sur le onload de la page :
onload="if (document.forms[0].Focus.value!='')
eval('document.forms[0].'+document.forms[0].Focus.value+'.focus()')"
Quick, dirty et non testé mais à vue de nez ça devrait pouvoir fonctionner
frisco avait écrit le 10/05/2006 :Bonjour à tous,
J'ai fait le comportement suivant:
Lorsqu'un élément d'un formulaire perd le focus apres changement du
contenu, je poste ledit formulaire et recharge le formulaire (avec le
changement bien sur)
onchange="submit();"
Typiquement, je modifie un input, et je clicque sur un autre (==> form
post)
Mais lorsque le post se produit et que le formulaire se recharge, je
perds (et c'est plutôt logic) le focus de l'élément nouvellement
cliqué avant le post.
j'ai tordu le pb dans plein de sens, et je crains une certaine
complexité.
Quelqu'un a-t-il deja rencontré ce genre de problématique? Si ca se
trouve, c'est tout bête ...
D'avance merci.
Frisco
Une idée comme ça :
un champ hidden nommé Focus
un onfocus sur les autres champs qui vont mettre le nom du champ sur
lequel on entre dans le champ hidden
onfocus="document.forms[0].focus.value=this.name"
Après le submit, on récupére les valeurs du formulaire (dont Focus) et
on les affecte à leurs champs respectifs puis, sur le onload de la page :
onload="if (document.forms[0].Focus.value!='')
eval('document.forms[0].'+document.forms[0].Focus.value+'.focus()')"
Quick, dirty et non testé mais à vue de nez ça devrait pouvoir fonctionner