11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour, j'ai deux input :

<input type="texte" name="fichier" onkeyup="zip()">
<input type="texte" name="fichier_zip">

Ma fonction zip (que vous m'avez aidé a faire sur ce forum, grand merci) :

function zip()
{
document.form.fichier_zip.value = document.form.id_last.value +"_"+ document.form.fichier.value +".zip";
}


Ce code permet d'ecrire en double ce qui s'ecrit dans fichier, dans le 2eme input fichier_zip en temps reel. Le petit bémol ou je n'ai pas fait attention au premier fois, c'est que pour mon site, le panel d'administration, j'ai besoin à ce que dès qu'un espace (touche espace du clavier, je precise Smiley lol ) ce fait, dans l'input "fichier_zip" j'aimerais qu'il s'ecrive "_" et non pas un espace aussi.

Avez vous une idée comment faire cette chose, est ce possible déja ?

Merci à vous, je debarque du php, je ne me suis jamais penché sur javascript a part adapté des chose existante, ne m'en vouler pas Smiley lol
Modifié par Okin (22 Aug 2005 - 00:37)
Bonjour,
Il n'est pas très difficile d'inhiber la touche espace, par contre, la faire remplacer par un autre caractère est beaucoup plus compliqué puisqu'il faut tenir compte de la positiion du curseur, etc...

Pour annuler l'appui sur espace :


élément.onkeydown = function (ev) {
if (ev && (ev.keyCode==32 || ev.which == 32)) return false;
else if (event && (event.keyCode==32 ¬¬ event.which==32)) return false;
return true;
}
Bonjour,

Merci de ta réponse.

Pour le "_", j'ai une autre idée, je n'en met pas, l'annulation d'un espace dans le deuxieme input me suffit, par contre, sans vouloir joué l'embetteur, meme si je me débrouille tres bien pour ca....

Comment je fais pour adapté votre code a ma fonction existante ?
Sincerement je ne vois pas comment annulé un espace avec un true ou false, bref, désolé de vous embeter :s

Merci bcp
En fait, c'est simple : lorsque le navigateur traite un évènement dans une fonction javascript, lui retourner true indique que le navigateur doit continuer de traiter l'évènement comme si le javascript n'avait pas été là, autrement dit dans ce cas, faire ce que la touche espace fait habituellement, et retourner false indique au contraire que le navigateur ne DOIT PAS faire ce qu'il fait habituellement, donc, ce qui a pour effet d'inhiber la touche.
Est-ce plus clair ?
Ha oui merci, mais enfait, y'a juste besoin de mettre ce code dans la page ? Je penssais qu'il fallait l'adapté a ma fonction déja presente, je veut me compliqué la vie ? lol