" [résolu][PHP/JS] Formulaire avec input name="nom[] - HTML/CSS - Programmation
Marsh Posté le 24-05-2005 à 17:06:38
edit : j'enleve ma connerie
Marsh Posté le 24-05-2005 à 17:09:21
Petite précision: alert("un champ est vide" ) ne s'affiche jamais...
En fait là c bourrin, évidement un seul message si un des champs est vide ça suffit, mais c'est justement pour tester (que ça marche pas).
Marsh Posté le 24-05-2005 à 17:34:26
ton erreur vient d'ici :
Code :
|
c'est pas des simple quotes ', mais des doubles quotes " que l'on utilise pour les attribut
Code :
|
l'erreur était toute conne et je me suis fais avoir comme un bleu
Marsh Posté le 24-05-2005 à 19:09:11
gatsusat a écrit : ton erreur vient d'ici :
|
Erreur
Citation : By default, SGML requires that all attribute values be delimited using either double quotation marks (ASCII decimal 34) or single quotation marks (ASCII decimal 39). |
Marsh Posté le 24-05-2005 à 19:10:31
bigben74 a écrit : Bonjour à tous, |
C'est quoi cette ligne :
if (form.valider.value == "terminer" )( |
Vire-ça tout de suite, et utilise des fonctions DOM
Marsh Posté le 24-05-2005 à 19:21:29
erf oué j'ai oublié de lui poster l'autre partie du script corrigée elle aussi :=)
Marsh Posté le 25-05-2005 à 09:08:30
if (form.valider.value == "terminer" )
c'est parce que je poste plusieurs fois mon formulaire et à la fin seulement le nom du bouton submit est "terminer". ça par contre c'est sûr que ça marche nikel ;-)
sorry de faire le noob, mais c'est qoi les fonctions DOM?
Marsh Posté le 25-05-2005 à 09:10:31
Des trucs genre getElementById. Parce que les document.monFormulaire.monChamp, c'est très bof et très vieux
Marsh Posté le 25-05-2005 à 10:12:01
J'ai cherché je vois pas vraiment en quoi se différencient les fonctions DOM du JS de base, dans les exemples que j'ai trouvé on a toujours en début de fonction
MaVariable = document.form....;
Enfin tant pi j'ai fais un test en page statique:
Code :
|
Et bien ça, ça marche nikel... (avec " ou ', c'est la même chose)
Pourquoi ça ne marcherait pas quand je créé mes input via une boucle php for ???
Marsh Posté le 25-05-2005 à 10:15:06
bigben74 a écrit : J'ai cherché je vois pas vraiment en quoi se différencient les fonctions DOM du JS de base, dans les exemples que j'ai trouvé on a toujours en début de fonction |
Les truc genre document.monFormulaire n'ont pas un support garantit. Ca se peut très bien qu'un navigateur ne l'implémente pas. Pour accéder aux champs, il faut systématiquement utiliser getElementById.
Marsh Posté le 25-05-2005 à 10:16:50
Aussi, un document.monFormulaire oblige à utiliser l'attribut name sur le form, mais la recommandation nous dit ça :
Citation : name = cdata [CI] |
Donc c'est là juste pour être compatible, et on est encouragé à être plus moderne et à utiliser un id
Marsh Posté le 25-05-2005 à 11:17:58
bigben74 a écrit : J'ai cherché je vois pas vraiment en quoi se différencient les fonctions DOM du JS de base, dans les exemples que j'ai trouvé on a toujours en début de fonction
|
C'est normal que ton form n'ai pas de propriete action ?`
SI ton formulaire est traite par php, alors tu peux utiliser tout betement name="nom[]", pas besoin d'y indiquer les numeros.
N'oublie pas metre des " pour l'atribut type.
Marsh Posté le 25-05-2005 à 11:32:09
pas de panique, ça c'était pour les tests, évidement qu'il y a une propriété action...
pour les numéros de nom[], si on les mets pas ça marche, mais je me suis aperçu par exemple que si tu faisais pareil avec des checkbox
Code :
|
c'est mort, tu sais pas lesquelles ont été cochées, enfin c'est peut-être juste dans mon cas... Mais résultat vu que j'ai le numéro de la ligne sous la main, je le met et comme ça je suis tranquille.
Marsh Posté le 24-05-2005 à 16:57:09
Bonjour à tous,
Je fatigue sur ce problème de d'input avec des noms très proches!
Je récupère un nombre en $_POST pour créer autant de lignes dans un tableau avec des
Le fait d'avoir des nom[0], nom[1], nom[2]... est très pratique pour le traitement du submit suivant. Par contre je n'arrive pas à vérifier que ces champs ont été remplis (avant le submit tant qu'à faire). Voici la fonction appelée par le onsubmit=check_form(this, <? echo $nombre_de_ligne ?> ).
Merci pour votre aide
Message édité par bigben74 le 25-05-2005 à 15:41:12