J'ai un code en javascript qui ne foncionne pas si j'utilise une DTD.
Pourtant je ne peux me passer de la DTD, car ma mise en page en
d=E9pend! Comment concilier les deux?
La DTD que j'utilise est :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Le code javascript que j'utilise est celui pour ch=E9quer en fait si
l'utilisateur a rempli son formulaire. Il fonctionne bien si je ne met
pas la DTD? Oui, comment concilier les deux??
Il se pr=E9sente comme cela:
<script language=3D"JavaScript" type=3D"text/JavaScript">
function checkParameters() {
var errorString =3D""
if (document.all("Nom").value=3D=3D"")
errorString =3D errorString + "Veuillez entrer votre nom\n"
if (document.all("Prenom").value=3D=3D"")
errorString =3D errorString + "Veuillez entrer votre pr=E9nom\n"
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
Bonjour,
J'ai un code en javascript qui ne foncionne pas si j'utilise une DTD. Pourtant je ne peux me passer de la DTD, car ma mise en page en dépend! Comment concilier les deux?
La DTD que j'utilise est :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Quel type MIME utilises-tu pour servir la page ? application/xml+xhtml ? Si oui, il est possible que le navigateur soit plus respectueux des standards dans ce cas. Si non, un doctype HTML serait peut-être préférable (je dis bien « peut-être »). Note que si tu cherches à faire du code propre un « HTML 4.01 Strict » est plus proche du but qu'un « XHTML 1.0 Transitional ».
Le code javascript que j'utilise est celui pour chéquer en fait si l'utilisateur a rempli son formulaire. Il fonctionne bien si je ne met pas la DTD? Oui, comment concilier les deux??
1) L'attribut language est déconseillé. 2) Je ne sais pas si les majuscules sont autorisées dans le nom de type "text/javascript"
function checkParameters() { var errorString =""
if (document.all("Nom").value=="")
C'est toi qui as défini la fonction document.all() ? Je pose la question parce qu'il existe un objet document.all dans le JScript d'Internet Explorer mais que ça ne fait pas partie de JavaScript -- et d'ailleurs je ne pense pas que ce soit une fonction.
errorString = errorString + "Veuillez entrer votre nomn" if (document.all("Prenom").value=="")
et dans le form: ... onsubmit='return checkParameters()' ...
Si mes premières réponses ne te suffisaient pas à résoudre ton problème, alors donne-nous une url vers la page où tu le constates.
Cordialement, -- Olivier Miakinen
Bonjour,
J'ai un code en javascript qui ne foncionne pas si j'utilise une DTD.
Pourtant je ne peux me passer de la DTD, car ma mise en page en
dépend! Comment concilier les deux?
La DTD que j'utilise est :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Quel type MIME utilises-tu pour servir la page ? application/xml+xhtml ?
Si oui, il est possible que le navigateur soit plus respectueux des
standards dans ce cas. Si non, un doctype HTML serait peut-être
préférable (je dis bien « peut-être »). Note que si tu cherches à
faire du code propre un « HTML 4.01 Strict » est plus proche du but
qu'un « XHTML 1.0 Transitional ».
Le code javascript que j'utilise est celui pour chéquer en fait si
l'utilisateur a rempli son formulaire. Il fonctionne bien si je ne met
pas la DTD? Oui, comment concilier les deux??
1) L'attribut language est déconseillé.
2) Je ne sais pas si les majuscules sont autorisées dans le nom
de type "text/javascript"
function checkParameters() {
var errorString =""
if (document.all("Nom").value=="")
C'est toi qui as défini la fonction document.all() ? Je pose la question
parce qu'il existe un objet document.all dans le JScript d'Internet
Explorer mais que ça ne fait pas partie de JavaScript -- et d'ailleurs
je ne pense pas que ce soit une fonction.
errorString = errorString + "Veuillez entrer votre nomn"
if (document.all("Prenom").value=="")
J'ai un code en javascript qui ne foncionne pas si j'utilise une DTD. Pourtant je ne peux me passer de la DTD, car ma mise en page en dépend! Comment concilier les deux?
La DTD que j'utilise est :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Quel type MIME utilises-tu pour servir la page ? application/xml+xhtml ? Si oui, il est possible que le navigateur soit plus respectueux des standards dans ce cas. Si non, un doctype HTML serait peut-être préférable (je dis bien « peut-être »). Note que si tu cherches à faire du code propre un « HTML 4.01 Strict » est plus proche du but qu'un « XHTML 1.0 Transitional ».
Le code javascript que j'utilise est celui pour chéquer en fait si l'utilisateur a rempli son formulaire. Il fonctionne bien si je ne met pas la DTD? Oui, comment concilier les deux??
1) L'attribut language est déconseillé. 2) Je ne sais pas si les majuscules sont autorisées dans le nom de type "text/javascript"
function checkParameters() { var errorString =""
if (document.all("Nom").value=="")
C'est toi qui as défini la fonction document.all() ? Je pose la question parce qu'il existe un objet document.all dans le JScript d'Internet Explorer mais que ça ne fait pas partie de JavaScript -- et d'ailleurs je ne pense pas que ce soit une fonction.
errorString = errorString + "Veuillez entrer votre nomn" if (document.all("Prenom").value=="")
<html xmlns="http://www.w3.org/1999/xhtml"> avec en entête <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <LINK href="style_vac.css" rel="stylesheet" type="text/css" media="screen">
le lien est : http://www.vie-art-cite.ch/cartes_formulaire.php
Merci, pascal
SAM
Bonjour,
Salut, d'où sors-tu ce post ? (dont je crois avoir vu des traces qque part ailleurs)
J'ai un code en javascript qui ne foncionne pas si j'utilise une DTD. Pourtant je ne peux me passer de la DTD, car ma mise en page en dépend! Comment concilier les deux?
La DTD que j'utilise est :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> (snip)
1) L'attribut language est déconseillé. 2) Je ne sais pas si les majuscules sont autorisées dans le nom de type "text/javascript"
function checkParameters() { var errorString =""
if (document.all("Nom").value=="")
C'est toi qui as défini la fonction document.all() ?
J'ai comme l'impression que ça aurait dû être :
if (document.all["Nom"].value=="")
et qu'IE en non mode soupe de tags n'apprécie pas ces errements.
if (document.all("Prenom").value=="")
Même remarque.
toutafé [ ] au lieu de ( )
-- sm
Bonjour,
Salut,
d'où sors-tu ce post ?
(dont je crois avoir vu des traces qque part ailleurs)
J'ai un code en javascript qui ne foncionne pas si j'utilise une DTD.
Pourtant je ne peux me passer de la DTD, car ma mise en page en
dépend! Comment concilier les deux?
La DTD que j'utilise est :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
(snip)
Salut, d'où sors-tu ce post ? (dont je crois avoir vu des traces qque part ailleurs)
J'ai un code en javascript qui ne foncionne pas si j'utilise une DTD. Pourtant je ne peux me passer de la DTD, car ma mise en page en dépend! Comment concilier les deux?
La DTD que j'utilise est :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> (snip)
le lien est : http://www.vie-art-cite.ch/cartes_formulaire.php
Bon ... he ben ... y a pas que le JavaScript qui n'est pas au top ... (uniquement IE compatible)
Le PHP a gobé l'envoi du formulaire quasi vide.
-- sm
Olivier Miakinen
J'utilise le mime
<html xmlns="http://www.w3.org/1999/xhtml"> avec en entête <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <LINK href="style_vac.css" rel="stylesheet" type="text/css" media="screen">
Ma question concernait plutôt les entêtes HTTP, qui prennent le pas sur l'élément meta.
le lien est : http://www.vie-art-cite.ch/cartes_formulaire.php
La réponse à ma question est donc : Content-Type: text/html
Comme je le supposais ce n'est pas du tout du XHTML, et donc pas du XML. Au passage je redirige donc vers fr.comp.lang.javascript seul (je devrais même logiquement le faire vers fciw.auteurs).
Au fait, heureusement que tu ne l'envoies pas avec un type MIME application/xml+xhtml car tu n'aurais carrément rien d'affiché quel que soit le navigateur. Par exemple tu as une balise LINK en majuscules et l'élément n'est pas fermé. C'est cela qui donne les sept premières erreurs de validation : http://validator.w3.org/check?verbose=1&uri=http%3A%2F%2Fwww.vie-art-cite.ch%2Fcartes_formulaire.php
Donc un DOCTYPE oui, mais sûrement pas XHTML 1.0.
Essaye avec : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Puis repasse la validation et corrige les erreurs HTML et le JavaScript.
J'utilise le mime
<html xmlns="http://www.w3.org/1999/xhtml">
avec en entête
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
<LINK href="style_vac.css" rel="stylesheet" type="text/css"
media="screen">
Ma question concernait plutôt les entêtes HTTP, qui prennent le pas sur
l'élément meta.
le lien est : http://www.vie-art-cite.ch/cartes_formulaire.php
La réponse à ma question est donc :
Content-Type: text/html
Comme je le supposais ce n'est pas du tout du XHTML, et donc pas du
XML. Au passage je redirige donc vers fr.comp.lang.javascript seul
(je devrais même logiquement le faire vers fciw.auteurs).
Au fait, heureusement que tu ne l'envoies pas avec un type MIME
application/xml+xhtml car tu n'aurais carrément rien d'affiché
quel que soit le navigateur. Par exemple tu as une balise LINK
en majuscules et l'élément n'est pas fermé. C'est cela qui donne
les sept premières erreurs de validation :
http://validator.w3.org/check?verbose=1&uri=http%3A%2F%2Fwww.vie-art-cite.ch%2Fcartes_formulaire.php
Donc un DOCTYPE oui, mais sûrement pas XHTML 1.0.
Essaye avec :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
Puis repasse la validation et corrige les erreurs HTML et le JavaScript.
<html xmlns="http://www.w3.org/1999/xhtml"> avec en entête <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <LINK href="style_vac.css" rel="stylesheet" type="text/css" media="screen">
Ma question concernait plutôt les entêtes HTTP, qui prennent le pas sur l'élément meta.
le lien est : http://www.vie-art-cite.ch/cartes_formulaire.php
La réponse à ma question est donc : Content-Type: text/html
Comme je le supposais ce n'est pas du tout du XHTML, et donc pas du XML. Au passage je redirige donc vers fr.comp.lang.javascript seul (je devrais même logiquement le faire vers fciw.auteurs).
Au fait, heureusement que tu ne l'envoies pas avec un type MIME application/xml+xhtml car tu n'aurais carrément rien d'affiché quel que soit le navigateur. Par exemple tu as une balise LINK en majuscules et l'élément n'est pas fermé. C'est cela qui donne les sept premières erreurs de validation : http://validator.w3.org/check?verbose=1&uri=http%3A%2F%2Fwww.vie-art-cite.ch%2Fcartes_formulaire.php
Donc un DOCTYPE oui, mais sûrement pas XHTML 1.0.
Essaye avec : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Puis repasse la validation et corrige les erreurs HTML et le JavaScript.
elia
Ouaips, merci pour les infos mais le problème reste le même.
Soit je ne mets pas de doctype et mon javascript fonctionne soit le contraire.
J'ai essayé avec le DOCTYPE: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
...mais c'est la même chose!
Quand au javascript j'ai aussi essayé avec ce script :
<script type="text/javascript"> function verif_champs () { var errorString ="" if (document.all("Nom").value=="") errorString = errorString + "Veuillez entrer votre nomn"
if (document.all("Prenom").value=="") errorString = errorString + "Veuillez entrer votre prénomn"
Question: Est-ce qu'un autre script javascript (qui contrôle qu'un champs sont rempli) fonctionne avec ce DOCTYPE?
Merci, pascal
Olivier Miakinen
Ouaips, merci pour les infos mais le problème reste le même.
Ah.
Soit je ne mets pas de doctype et mon javascript fonctionne soit le contraire.
Ah bon. Seulement mettre un doctype HTML n'est que la première étape, censée faciliter les suivantes : corriger les erreurs HTML d'abord, puis les erreurs JavaScript.
<script type="text/javascript">
Ça c'est mieux en effet.
if (document.all("Nom").value=="")
Puisque tu ne définis visiblement aucune fonction all(), tu devrais au moins suivre le conseil de SAM et remplacer les parenthèses par des crochets. Je le cite :
<cit.> J'ai comme l'impression que ça aurait dû être : if (document.all["Nom"].value=="") et qu'IE en non mode soupe de tags n'apprécie pas ces errements. </cit.>
Cela dit, abandonner le « all » qui ne fonctionnera que dans quelques navigateurs et utiliser « getElementById() » qui est normalisé serait quand même préférable.
Question: Est-ce qu'un autre script javascript (qui contrôle qu'un champs sont rempli) fonctionne avec ce DOCTYPE?
Oui, bien sûr. Si tu cherches des scripts tout faits, privilégie ceux qui utilisent getElementById et rejette impitoyablement ceux qui utilisent des document.all ou des document.layer (ou layers, je ne sais plus).
Ouaips, merci pour les infos mais le problème reste le même.
Ah.
Soit je ne mets pas de doctype et mon javascript fonctionne soit le
contraire.
Ah bon. Seulement mettre un doctype HTML n'est que la première étape,
censée faciliter les suivantes : corriger les erreurs HTML d'abord, puis
les erreurs JavaScript.
<script type="text/javascript">
Ça c'est mieux en effet.
if (document.all("Nom").value=="")
Puisque tu ne définis visiblement aucune fonction all(), tu devrais au
moins suivre le conseil de SAM et remplacer les parenthèses par des
crochets. Je le cite :
<cit.>
J'ai comme l'impression que ça aurait dû être :
if (document.all["Nom"].value=="")
et qu'IE en non mode soupe de tags n'apprécie pas ces errements.
</cit.>
Cela dit, abandonner le « all » qui ne fonctionnera que dans quelques
navigateurs et utiliser « getElementById() » qui est normalisé serait
quand même préférable.
Question: Est-ce qu'un autre script javascript (qui contrôle qu'un
champs sont rempli) fonctionne avec ce DOCTYPE?
Oui, bien sûr. Si tu cherches des scripts tout faits, privilégie
ceux qui utilisent getElementById et rejette impitoyablement ceux
qui utilisent des document.all ou des document.layer (ou layers,
je ne sais plus).
Ouaips, merci pour les infos mais le problème reste le même.
Ah.
Soit je ne mets pas de doctype et mon javascript fonctionne soit le contraire.
Ah bon. Seulement mettre un doctype HTML n'est que la première étape, censée faciliter les suivantes : corriger les erreurs HTML d'abord, puis les erreurs JavaScript.
<script type="text/javascript">
Ça c'est mieux en effet.
if (document.all("Nom").value=="")
Puisque tu ne définis visiblement aucune fonction all(), tu devrais au moins suivre le conseil de SAM et remplacer les parenthèses par des crochets. Je le cite :
<cit.> J'ai comme l'impression que ça aurait dû être : if (document.all["Nom"].value=="") et qu'IE en non mode soupe de tags n'apprécie pas ces errements. </cit.>
Cela dit, abandonner le « all » qui ne fonctionnera que dans quelques navigateurs et utiliser « getElementById() » qui est normalisé serait quand même préférable.
Question: Est-ce qu'un autre script javascript (qui contrôle qu'un champs sont rempli) fonctionne avec ce DOCTYPE?
Oui, bien sûr. Si tu cherches des scripts tout faits, privilégie ceux qui utilisent getElementById et rejette impitoyablement ceux qui utilisent des document.all ou des document.layer (ou layers, je ne sais plus).
SAM
Ouaips, merci pour les infos mais le problème reste le même.
Soit je ne mets pas de doctype et mon javascript fonctionne soit le contraire.
On s'en moque de toutes façons, au mieux, ce ne sera que pour IE
Question: Est-ce qu'un autre script javascript (qui contrôle qu'un champs sont rempli) fonctionne avec ce DOCTYPE?
bien entendu, et peu importe le doctype (sauf peut-être le xml ?), ne serait-ce qu'avec le JS de nos grand' mères ...
<script type="text/javascript"> function verif_champs (monForm) { var f = monForm.elements; var messg = 'Vous navez pas rempli le champ : '; for (var i=0, L=f.length; i<L; i++) { if(f[i].type=='text' && f[i].value.length<1) { alert(messg + f[i].name); f[i].focus(); f[i].select(); return false; } } return true; } </script>
Oui, ok, pour les crochets, j'avais pris compte aussi de cette judicieuse remarque mais en copiant un autre script qui fonctionnait dans un autre formulaire, les parenthèses y étaient restées!
Je vais suivre plus scrupuleusement les remarques et je vous remercie beaucoup pour les conseils. Pour ceux que cela intéressent je reporterai ici mes "expériences"!
Merci encore, Pascal
Oui, ok, pour les crochets, j'avais pris compte aussi de cette
judicieuse remarque mais en copiant un autre script qui fonctionnait
dans un autre formulaire, les parenthèses y étaient restées!
Je vais suivre plus scrupuleusement les remarques et je vous remercie
beaucoup pour les conseils. Pour ceux que cela intéressent je
reporterai ici mes "expériences"!
Oui, ok, pour les crochets, j'avais pris compte aussi de cette judicieuse remarque mais en copiant un autre script qui fonctionnait dans un autre formulaire, les parenthèses y étaient restées!
Je vais suivre plus scrupuleusement les remarques et je vous remercie beaucoup pour les conseils. Pour ceux que cela intéressent je reporterai ici mes "expériences"!