Aller au contenu

onChange sous IE


Mephisto

Messages recommandés

Posté(e)

Bonjour

Sur une page de consultation de log, j'affiche le contenu du fichier sur plusieurs pages

et pour rendre le tout plus convivial, jme suis rajoute une barre avec premiere page, page precedante, page suivante derniere page, ... et au milieu, un champ text avec un onChange pour reload la page des que l'user ayant rentre son numero de page a appuye sur sa touche 'entre'.

Sauf que...

Suite a des tests sous IE (et je suis reste longtemps a croire que ca fonctionnait pas...), j'ai remarque que l'instruction du onChange ne s'execute qu'une fois que l'utilisateur a clique a l'exterieur du champ (n'importe ou, sur la page, mais ailleurs...)

ce qui n'est pas tres evident...

des idees pour pallier a ce manque flagrant d'ergonomie ? :)

merci !

Posté(e)

Ok en effet.

Sinon il te reste la possibilité de mettre un petit bouton 'valider', 'ok', (...) à côté. C'est par exemple la solution qui a été choisi par IPB (et d'autres) pour la navigation dans les pages des topics.

Posté(e)

oui, mais c'est pas beau ! :)

bon, maintenant, ma solution

function keypress(evt, elt, maxpage, beg, end)
{
var k = evt.keyCode ? evt.keyCode : evt.which;
var ret = true;
var chr = String.fromCharCode(k & 0xFF);

switch (chr)
{
case '0': case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9': case '\b':
	break;
case '\r': case '\n':
	var page = elt.value - 1;
	if (page <= maxpage)
	{
		window.location.href = beg+page+end;
	}
	break;
default:
	ret = false;
	break;
}
if (!ret)
{
	if (evt.preventDefault){
		evt.preventDefault();}
	else{
		evt.returnValue = false;}
}
return ret;
}

ca a l'air de marchotter

et maintenant, en dessous, j'ai:

<input type=text onkeypress='kypress(event, this, <?=$lastpage?>, "debut de l'url", "fin de l'url")' />

voilou, et merci quand meme :byebye:

bonne soiree

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...