Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Bouton submit caché ou autre soluce ?

8 réponses
Avatar
Michel_newbie
Bonjour,

Etape 1 :
J'ai tout d'abord fait un formulaire avec un paquets de champs de saisie
(INPUT classiques).
J'ai placé ensuite un lien-image "Valider" qui lorsque je clique dessus
lance une fonction javascript (Valider_la_saisie()).
Celle-ci teste la saisie de tous les champs, place des donnés utiles par la
prochaine page et simule le bouton soummettre de mon formulaire (
document.Formulaire.submit() ).

Cela fonctionne très bien jusqu'à là.

Problème :
En testant ma page comme un utilsateur le ferait, j'ai appuyé sur la touche
entrée comme pour valider le formulaire.
Résultat : "beep beep beep beep beep". Rien ne se passe.

Etape 2 :
Je rajoute un bout de code, qui intercepte la touche entrée et exécute alors
la fonction Valider_la_saisie().
Résultat : "beep beep beep beep beep" et passe correctement à la page
suivante.

Etape 3 :
Marre des "beep beep beep beep beep", je place un vrai bouton submit et
test.
Résultat : ça fonctionne ! Plus un seul beep et passe correctement à la page
suivante.

Etape 4:
Il est môche ce bouton, je le rend invisible (visibility:hidden)
Le bouton disparraît mais... les beep reviennent :-(

Si quelqu'un à compris mon histoire && si il a une solution à mon problème :
peut-il m'aider une peu?
Merci beaucoup.

Michel

8 réponses

Avatar
Thibaut Allender

Etape 4:
Il est môche ce bouton, je le rend invisible (visibility:hidden)
Le bouton disparraît mais... les beep reviennent :-(


pourquoi ne pas lui mettre une dimension, un background (ton image qui
declenche le JS), et pas de value ?
pas besoin de mettre une image + un submit caché alors qu'on peut donner
au submit l'apparence voulue en css

--
thibaut allender | freelance | web|system developer|designer
+32 496 26 75 76 | http://capsule.org *new version*

Avatar
Michel_newbie
"Thibaut Allender" a
écrit dans le message de news:

pourquoi ne pas lui mettre une dimension, un background (ton image qui
declenche le JS), et pas de value ?
pas besoin de mettre une image + un submit caché alors qu'on peut donner
au submit l'apparence voulue en css

--
thibaut allender | freelance | web|system developer|designer
+32 496 26 75 76 | http://capsule.org *new version*


Merci Thibaut,

A coup de border-color, background-color, background-image,
background-repeat, border, height et width, j'arrive à remplacer l'image par
le bouton submit mais...
du coup si l'on clique dessus, comment lui dire qu'il exécute une fonction
avant de soumettre le formulaire?

J'ai cru l'avoir déjà fait, mais à force de développer en trop de langages
et la fatigue aidant, je ne sais plus trop.
Merci encore

Michel

Avatar
Michel_newbie
"Michel_newbie" a écrit dans le
message de news:40dc2075$0$10734$

Merci Thibaut,

A coup de border-color, background-color, background-image,
background-repeat, border, height et width, j'arrive à remplacer l'image
par

le bouton submit mais...
du coup si l'on clique dessus, comment lui dire qu'il exécute une fonction
avant de soumettre le formulaire?



Note : avec un ajout de onclick pour exécuter la fonction, cela fonctionne
sous IE mais pas sous Mozilla.
C'est la me... ces navigateurs :-)

Michel

Avatar
Thibaut Allender

Note : avec un ajout de onclick pour exécuter la fonction, cela fonctionne
sous IE mais pas sous Mozilla.
C'est la me... ces navigateurs :-)


c'est pourtant la bonne solution
que dit la console javascript ?

--
thibaut allender | freelance | web|system developer|designer
+32 496 26 75 76 | http://capsule.org *new version*

Avatar
Julien Plée
Permettez moi de m'incruster un instant, mais il existe l'évènement onsubmit
dans l'élément FORM. Il sert justement à traiter des actions avant de
valider le formulaire. deplus, il permet aussi de refuser l'envoi du
formulaire dans le cas où le traitement de l'information ne réponde pas aux
exigeances.

Ex:
<script>
function traitementFormulaire(obj) {
//si traitement ok => autorisation d'envoi
return true;

//si traitement pas ok => abandon de l'envoi
return false;

};
</script>

<form action='script.cgi' onsubmit='return traitementFormulaire(this)'>
<input ci>
<input ca>
<!-- bouton submit ou
bouton image avec un onclick='this.form.submit()' par ex -->

</form>
Avatar
Michel_newbie
"Julien Plée" a écrit dans le message de
news:cbhgcl$lg8$
Permettez moi de m'incruster un instant, mais il existe l'évènement
onsubmit

dans l'élément FORM. Il sert justement à traiter des actions avant de
valider le formulaire. deplus, il permet aussi de refuser l'envoi du
formulaire dans le cas où le traitement de l'information ne réponde pas
aux

exigeances.

Ex:
<script>
function traitementFormulaire(obj) {
//si traitement ok => autorisation d'envoi
return true;

//si traitement pas ok => abandon de l'envoi
return false;

};
</script>

<form action='script.cgi' onsubmit='return traitementFormulaire(this)'>
<input ci>
<input ca>
<!-- bouton submit ou
bouton image avec un onclick='this.form.submit()' par ex -->

</form>


Merci beaucoup Julien, ça me permet d'alléger et de rendre mon code plus
compréhensible.
Malheureusement pour moi, il n'est pas compatible avec tous les navigateurs.
Vais bosser pour IE et verrais une fois l'application terminée ce qu'il faut
retoucher.
Bonne méthode? J'en doute mais j'ai envie d'avancer pour l'instant sur
l'application.
Si vous avez des astuces pour développer en une fois pou tous les
navigateurs je suis preneur.

chel

Michel

Avatar
Thibaut Allender

Malheureusement pour moi, il n'est pas compatible avec tous les navigateurs.
Vais bosser pour IE et verrais une fois l'application terminée ce qu'il faut
retoucher.
Bonne méthode? J'en doute mais j'ai envie d'avancer pour l'instant sur
l'application.


j'allais le dire ;)

Si vous avez des astuces pour développer en une fois pou tous les
navigateurs je suis preneur.


en javascript, si ca passe sous mozilla ca doit passer sous IE.
c'est d'autant plus simple avec la console javascript

--
thibaut allender | freelance | web|system developer|designer
+32 496 26 75 76 | http://capsule.org *new version*

Avatar
Cenekemoi
Bonjour à Michel_newbie
[...]
Malheureusement pour moi, il n'est pas compatible avec tous les
navigateurs.


?!?
Je suis curieux de savoir quel est le coding non compatible avec les
navigateurs actuels.

Le seul attribut utile est "onsubmit" sur la balise "FORM", lequel est
tout à fait conforme aux standards...

--
Cordialement, Thierry ;-)