Problème sur safari pour un onchange sur un type text
ghislaint22
Messages postés3Date d'inscriptionvendredi 24 octobre 2008StatutMembreDernière intervention27 octobre 2008
-
24 oct. 2008 à 18:54
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
27 oct. 2008 à 15:34
Bonsoir à tous. Voila mon problème. J'affiche une galerie de vignettes de photos, et sous chaque vignette j'ai un zone de texte en saisie pour que l'utilisateur puisse taper un sous titre. Et si un sous titre est tapé, j'apelle un formulaire qui enregistre le sous titre pour cette photo.
Pour vérifier si un sous titre est saisi, j''utilise la fonction onchange. Marche très bien sous IE, mais pas du tout sous Safari si Firefox (la zone n'est pas accessible en saisie.
Voici mon code:
<?php
** D'abord la récupération des infos de la base: le sous titre est le champ stitre
$query="SELECT DISTINCT id,nomphoto,clephoto,ext,stitre FROM photos WHERE clecphot='".$clephot."' ORDER BY numero";
if($result=mysql_query($query)){} else die(mysql_error());
$k=0;
** Et voilà mon problème : La fonction onchange est totalement inactive sous Safari et Firefox. Aucun problème sous IE. modif_titre se contente de mettre le sous titre à jour en base pour cette photo
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 25 oct. 2008 à 07:42
Bonjour,
pas vu de fonction modif_titre dans ce que tu
présentes.
Mettre la page HTML générée et non le PHP pour que l'on puisse
éventeullement tester sans tout construire, pas 127548 lignes comme dirait TheBultez
<table bgcolor= "#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, input type=\"text\"
name="titre<?ph...</td>
</td></tr></tbody></table>attention
à la façon d'appeller l'INPUT, il y a qu'un attribut name mais pas d'attribut id, IE sait faire pas les autres...
<table bgcolor ="#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, la zone n'est pas accessible en
saisie</td>
</td></tr></tbody></table>peut être
un probléme de CSS simplement
ghislaint22
Messages postés3Date d'inscriptionvendredi 24 octobre 2008StatutMembreDernière intervention27 octobre 2008 27 oct. 2008 à 14:21
Merci de vos conseils.
Après avoir testé vos suggestions, il semble en effet que l'input text ne soit pas en cause.
Si je passe le </table> devant cet input (au niveau de mon dernier commentaire donc), la zone redevient accessible en mise à jour ... Par contre on perd toute la mise en forme.
Ghislain
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 27 oct. 2008 à 14:29
donc... une erreur html ( peut-être due à ce qui est fait par le php )
un éditeur à coloration syntaxique sur la page
résultante te permettra peut-être de voir
ou alors, faire contrôler le html résultant, en ligne,
ou avec l'extension "HTML Validator" de FF
( je ne sais pas s'il existe l'équivalent avec IE ? )
ghislaint22
Messages postés3Date d'inscriptionvendredi 24 octobre 2008StatutMembreDernière intervention27 octobre 2008 27 oct. 2008 à 15:17
J'ai retesté avec une colloration syntaxique RAS.
Sur un autre forum, on m'a dit que c'était une mauvaise priorisation de fonctions et une astuce pour la contourner coté utilisateur: Faire clic droit sur le champ text en saisie. Effectivement passe aussitôt en écriture... mais pas très propre.
Signifie quand même que le code marche, mais que sous Safari on n'a pas spontanément le curseur sur l'input text (sauf s'il est séparé de l'autre fonction)..
Aucune idée de ce qu'est une priorisation de fonctions. Je pensais qu'on pouvait en mettre autant qu'on voulait.
Ghislain
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 27 oct. 2008 à 15:34
>>Aucune idée de ce qu'est une priorisation de fonctions.
je n'en sais rien non plus !!
>> Je pensais qu'on pouvait en mettre autant qu'on voulait.
bien sûr que oui.
non, non, tu as une erreur HTML, tout simplement !
( peut-être, encore une fois, causée par le php )
puisqu'avec une balise </table> tu dis que ça baigne !
ça ne doit pas être autre chose ! puisque, là aussi,
le petit exemple que j'ai mis ( tiré du tien ) fonctionne
parfaitement.
mais, nous on n'a pas assez de billes pour trouver.
une adresse pour voir la page html résultante ?