Mephisto Posted June 27, 2008 Posted June 27, 2008 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 !
Quarky Posted June 27, 2008 Posted June 27, 2008 Pourquoi ne pas plutôt faire un select avec les différentes valeurs ?
Mephisto Posted June 27, 2008 Author Posted June 27, 2008 parceque pour des log de plusieurs dizaines de milliers de lignes, a coup de vingt lignes par page, c'est pas la meilleure solution
Quarky Posted June 27, 2008 Posted June 27, 2008 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.
Mephisto Posted June 27, 2008 Author Posted June 27, 2008 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 bonne soiree
Recommended Posts
Archived
This topic is now archived and is closed to further replies.