Problème javascript

Fermé
faluorn - 28 avril 2009 à 14:25
 faluorn - 29 avril 2009 à 10:06
Bonjour,
Je suis en train de développer un site internet permettant de faire différentes recherches.
ces recherches prenant un peu de temps, j'aimerais afficher un message d'attente lorsque la recherche commence.

J'ai donc un formulaire avec différents champs.
Ce formulaire se termine avec un bouton submit.
J'aimerais, de plus, qu'on puisse terminer envoyer la recherche en cliquant sur la touche "enter".

J'ai donc lié la fonction d'attente à l'évènement "onmousedown" et "onkeydown" et la fonction de recherche sur les evènements "onkeyup" et "onmouseup".
et cela ne fonctionne pas.
je patauge depuis deux jours sans trouver... :(

Voici le code du bouton :

contenu += "<button name=\"button1\" id=\"button1\" value=\"button\" style=\"cursor: pointer\" type=\"submit\" onMouseup=\"wait()\" onMouseup=\"prepare_search()\"";
contenu += " onKeyDown=\"submitViaEnter(event,0)\" onKeyUp=\"submitViaEnter(event,2)\" >";
contenu += "<IMG src=\"../images/16/actions/system-search.png\"> chercher </button>";

J'ai essayé aussi de m'en sortir en associant une fonction à l'évènement "onsubmit" du formulaire, mais...

De plus, je souhaiterais que le formulaire ne soit pas reloadé après l'envoit.
J'ai donc ajouté un "return false" à l'évènement "onsubmit". (ca, ca fonctionne!)

Si quelqu'un a une idée, merci d'avance!

2 réponses

NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 513
28 avril 2009 à 14:57
Bonjour,

Pourquoi ne pas appeler votre fonction d'attente en entrée de la fonction qui fait l'action?
Pour la touche entrée, j'ai fait ce script pour une txtbox :
function verifAtteindre (evt)
{

// Récupération de l'évènement associé
var keyCode = evt.which ? evt.which : evt.keyCode;


//Dans le cas du retour à la ligne on recharge le tableau et la pagination
var mask2 = '^\u000D$';
var reg2 = new RegExp(mask2,"g");
if(reg2.test(String.fromCharCode(keyCode)) ) {
xglCancelEvent(evt);
validationAtteindre();
}
}
0
Bonjour,

J'ai testé ta solution, mais cela n'a pas résolu mon problème.

par contre, j'ai finit par trouver une solution acceptable.

Merci donc pour ta réponse et le temps passé :)

Faluorn
0