Script onchange ne marche pas sous IE

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Script onchange ne marche pas sous IE

Re: Script onchange ne marche pas sous IE

par two3d » 14 déc. 2015, 14:34

Pour info, la page qui gère les données du formulaire quand le bouton subit est cliquée est celle-ci:

<form method="POST" action="../_lib/phpmailer-fe.php" id="form" enctype="multipart/form-data" onSubmit="return valider()">

Re: Script onchange ne marche pas sous IE

par Ascla » 12 déc. 2015, 15:49

Okay ça marche !
Si tu as d'autres questions, n'hésite pas.

Re: Script onchange ne marche pas sous IE

par thierry72 » 12 déc. 2015, 14:49

ok sa marche, je te remercie beaucoup pour tes conseils Ascla et je vais faire comme tu dit..
je laisse ouvert pour le moment au cas ou ;-), je mettrais résolu quand tout sera ok ;-)

Re: Script onchange ne marche pas sous IE

par Ascla » 12 déc. 2015, 13:44

C'est bien ça. Ta page html ne gère que l'apparence de ton formulaire, quant à ta page php, c'est elle qui va envoyer le mail.
Ce que j'essayais de dire plus haut, c'est que le Javascript ne suffisait pas, À LUI TOUT SEUL, à conditionner tes données du fait qu'il puisse être désactivé. Donc une personne avec un navigateur sans javascript pourrait lui passer outre tes protections.
Il est donc nécéssaire, et même obligatoire que dans ta page php ( celle qui accueille les données ), si ce n'est pas déjà fait, d'ajouter des conditions avant l'envoie de l'email (champ vide, existence de l'email, ...).

Re: Script onchange ne marche pas sous IE

par thierry72 » 12 déc. 2015, 12:44

Je suis pas sur de ce que tu dit Ascla =D> (hormis dans le principe, tu m'excusera mais j'aime bien comprendre :oops: )
En fait, actuellement j'ai mon formulaire qui est sur la page sampleform.html
quand tout est remplis (et c'est là ou je suis pas trop sur de ton explication car pour moi logiquement le code de vérification devrais se trouver sur la même page que le formulaire, à moins que je me trompe...)
donc on demande l'envoi via le bouton envoyer et donc le contenu est envoyer vers la page phpmailer-fe.php qui vas donc valider le contenu et l'envoyer par e-mail (.tpl => email html)

dans ma logique cela se passe comme ça (ou?)

donc ma question:
je suppose que les deux versions devrais être possible, mais pour une personne qui n'est pas pro en php mais qui arrive à plus ou moins se dépatouillé tu me conseillerais quoi?

merci pour ton temps (monsieur :non: madame enfin ASCLA :wink:

Re: Script onchange ne marche pas sous IE

par Ascla » 12 déc. 2015, 12:07

@ ascla: je dirais même plus:
/* commentaire
multi lignes*/
//commentaire sur une ligne
:lol:
Exact !
Tu me dit (ASCIA)
On va le résoudre un premier problème. Ascla s'écrit avec un L !

Mais une fois ton formulaire envoyé, c'est une page PHP qui gère les données non ?
Dans ce cas là, tu n'as qu'à mettre les conditions de vérification dans ta page qui envoie les données.
Je m'explique : Dés que les données sont envoyées, tu rajoutes des conditions dans ton PHP qui vérifient si les inputs ne sont pas vides, si l'email est correct, etc...

Donc pour conclure, il faut rajouter des conditions dans la page qui va gérer la gestion des données. (Pour éviter que je vienne sur ton site avec un navigateur sans Javascript, et que j'appuie 15 fois sur ton bouton envoyer pour que tu te fasses flooder).

Re: Script onchange ne marche pas sous IE

par thierry72 » 12 déc. 2015, 11:35

Super merci, sa fonctionne.... merci pour ses infos en fait c'était tout bête.....

Juste une question:
Tu me dit (ASCIA) qu'il est mieux de passer par du php pour la vérification des champs du formulaire ok MAIS (et c'est là ou je sèche #-o )
1: ma page formulaire est en .html
je la met simplement en .php et après je peux inclure du php? rien à changer dans le doctype ? (ça c'est la question à 2 balles)

Ensuite, imaginons donc que ma page soit en .php, avec donc du code php ouais sa peut aider :lol:
(exemple, la vérification des champs en code php, un code pour joindre la date et l'heure d'envoi de l'email en php......)
ma page .tpl ne peux pas contenir du php et comme ma page .php contiendrais par exemple
<?php echo 'le '.$date; ?> <?php echo 'à '.$heure; ?>
comment faire pour récupérer ses valeurs et les afficher dans le .tpl? vue que les "valeurs" acceptés sont sous la forme {frParente} pour le champs Parent par exemple

Merci pour votre temps les hommes :priere:

Re: Script onchange ne marche pas sous IE

par two3d » 12 déc. 2015, 03:44

merci les filles ;-)
Il est mignon lui :mrgreen:

PS: c'est moi qui est fait le test du formulaire :wink:

@ ascla: je dirais même plus:
/* commentaire
multi lignes*/
//commentaire sur une ligne
:lol:

Re: Script onchange ne marche pas sous IE

par Ascla » 12 déc. 2015, 02:52

j'ai donc tester (car j'avais des alert() en javascript pour le remplissage des input et sous IE, je te le donne en mille.... il vérifie rien il envoie le formulaire....
La vérification par javascript est totalement déconseillée. Tu peux quand même la laisser, mais il est important d'en ajouter une autre de secours de type php. En effet, je vais te donner un exemple tout bête. Certains navigateurs n'ont pas javascript (et oui ça existe). Du coup, les utilisateurs pourront passer les contraintes sans aucun soucis.

De plus, je me suis permis de regarder le code javascript de ta page, et je suis tombé sur quelque chose de très bizarre et de très faux !
Dans ton code, tu utilises :
<!-- pour les commentaires
Mais il est TOTALEMENT faux d'utiliser ceci pour des commentaires.

Rappel :
Commentaire HTML
<!-- Commentaire -->

Commentaire Javascript
/* Commentaire */
// Commentaire

Il te suffit donc de corriger ces erreurs et je pense que ton code marchera de nouveau.

Si ça fonctionne sous chrome, je pense que c'est juste que ce navigateur est bien trop puissant et arrive à passer outre ces erreurs.

Voili voilou... :wink:

Re: Script onchange ne marche pas sous IE

par thierry72 » 12 déc. 2015, 01:54

Comment ça du code html valide?
pour info, je suis parti sur un "script" de base PHPMailer (n'étant pas pro ni asse calé dans le domaine...
et pour ce qui est du doctype c'est celui sur la page de base qui envoi les infos à une page .tpl (qui contiens la mise en page de l'email envoyer, donc je n'y ai pas touché)

et enfin, j'ai bien eu le test que l'un de vous à fait avec une carte anniversaire...

Je demande pas à ce que l'on me modifie la page mais juste à m'orienté si vous avez trouver le problème (satané IE)
merci les filles ;-)

UP
ah ok, je suppose que tu parle de fait qu'il y a un <html> <head> en trop (oui j'avais trouvé ça bizarre aussi)
mais comme le "script" comportais 3 exemples différent de formulaire et que les 3 pages avait se double <html> <head> je m'était dit que c'est normale (mouais) et que le système en avais besoin (pour une raison x ou y )
je vien aussi de testet en enlevant ces doublons et résultat identique, marche pas cette histoire de menu sous IE...

Re: Script onchange ne marche pas sous IE

par two3d » 12 déc. 2015, 01:44

Bien vu

Re: Script onchange ne marche pas sous IE

par or 1 » 12 déc. 2015, 01:32

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
<html>
<head>
est-ce que cela fonctionnerait mieux avec du code html valide ?

Re: Script onchange ne marche pas sous IE

par thierry72 » 12 déc. 2015, 01:26

Merci pour vos réponses...
En effet Ascia cela proviens bien du fameux IE....
j'ai donc tester (car j'avais des alert() en javascript pour le remplissage des input et sous IE, je te le donne en mille.... il vérifie rien il envoie le formulaire....

Pour info j'ai le nouveau IE fournis avec la mise à jour de windows (ou 8.1) donc je tourne avec windows 10....

j'ai recherché une info et javascript est bien activé chez moi...
Je viens de tester sur un autre PC équipé de IE 11 et même problème....

Je vous donne l'url de la page au cas ou car je sèche complètement
http://cspmr.fr/templates/allcss/carte- ... eform.html

merci à vous

Re: Script onchange ne marche pas sous IE

par Ascla » 11 déc. 2015, 23:59

Ah le javascript et Internet Explorer.
two3d, je pense que si juste un style.display ne fonctionne pas en javascript, ça ne fonctionnera pas non plus avec le fabuleux jQuery.

Ensuite, si tout fonctionne sur chrome mais pas sour Internet Explorer, pour moi il n'y a qu'une seule raison, c'est que javascript n'est pas gérer par le navigateur (soit par un problème de version, soit car juste le navigateur est un peu fatigué et a décider de ne pas travailler).
Pour vérifier ma première théorie, essaye de faire juste un alert();
Dans le cas où tu ne reçois aucune alerte avec IE, alors ma théorie sera vérifié.

Oui oui, JavaScript est super, sauf quand le navigateur refuse de s'en occuper.

Re: Script onchange ne marche pas sous IE

par two3d » 11 déc. 2015, 23:33

Tu peux pas utiliser jQuery ? ie est casse bonbon...

Edit, le problème vient d'un getelementby.... je pense, ie n'est pas très copain avec ce genre de chose ^^