Jump to content

onChange sous IE


Recommended Posts

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 !

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...