Est-il possibe d'appeler une fonction JS à partir d'une ligne HTML gén

pogonkt Messages postés 2 Date d'inscription vendredi 1 août 2003 Statut Membre Dernière intervention 4 août 2003 - 3 août 2003 à 19:07
cs_fonio Messages postés 56 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 15 février 2013 - 17 oct. 2008 à 16:51
Bonjour à tous,

je démarre en JS et j'essaie plusieurs petites choses avant de me lancer... Je bute sur le programme ci-dessous.
Quand je clique sur le lien permier j'ai toujours le message : 'erreur javascript'.
Quelqu'un peut-il me donner un conseil.
Merci d'avance.
Pierre

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<script language = "JavaScript">

function charge()
{
chaine = "[ + ' [premier]] - ";
document.write(chaine);
}

function premier()
{
window.alert("=== === PREMIER === ===");
}
</script>

</html>

5 réponses

mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
4 août 2003 à 05:02
Je dirais plutot :

chaine = "[ + ' [premier]] - ";
> document.write(chaine);
> }
>
> function premier()
> {
> window.alert("=== === PREMIER === ===");
> }
> </script>
>
> </html>
>
0
pogonkt Messages postés 2 Date d'inscription vendredi 1 août 2003 Statut Membre Dernière intervention 4 août 2003
4 août 2003 à 11:59
Bonjour
et merci pour votre réponse rapide. Mais malheureusement
cele ne fonctionne pas.... j'ai toujours l'erreur : erreur sur la page quand je clique sur le lien premier.
Mais est-il vraiement possible d'appeler une fonction JS dans une ligen HTML elle-même générée à l'aide d'une fonction JS... N'y-a-t-il pas une limite imposée par HTML ou JS ???

En tout cas merci. Dernière chose si j'ai bien compris le caractère '\' est un filtre ?

A vous lire et amicalement
Pierre
0
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
4 août 2003 à 14:47
Oui ça s'appelle un antislash (\) qui ignore le caractère suivant dans le code mais reste la au moment du traitement. Cela est aussi valide en PHP, mais admettons tu print du code javascript maisl les antislash seront traité par PHP mais que tu en veux dans le javascript tu en met un double \\

Aussi si tu met un n après \n sa aura pour effet de sauter une ligne..

Pour ton problème je ne comprend pas bien dsl mais au moins je t'aurai donné un petit cours (pas complet) sur les antislash...

Merci

Mathieu M-G :)
[ + ' [premier]] - ";
> > > document.write(chaine);
> > > }
> > >
> > > function premier()
> > > {
> > > window.alert("=== === PREMIER === ===");
> > > }
> > > </script>
> > >
> > > </html>
> > >
> >
>
0
francktfr Messages postés 101 Date d'inscription vendredi 30 août 2002 Statut Membre Dernière intervention 5 novembre 2004
4 août 2003 à 16:51
Document.write ecrit dans le document, en effacant le reste.
met : alert(document.body.outerHTML) apres ton "Document.write(chaine)", tu verras que ton script dans le BODY n'existe plus.
Remplace alors ton "Document.write(chaine)" par
"document.body.insertAdjacentHTML("afterBegin", chaine)"
et ca devrait tourner ;o)

FT :o)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_fonio Messages postés 56 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 15 février 2013 1
17 oct. 2008 à 16:51
salut , je te propose ceci : utilisation d'une div que j'ai nomée "div1", alimentée par "chaine" gràce à la méthode innerHTML


<html>
<head >
    <title>Page sans titre</title>
</head>

<script language = "JavaScript" type="text/javascript">


function charge(){
 chaine = "[ + ' [premier]] - ";
 document.getElementById('div1').innerHTML = chaine;
}


function premier(){
alert("=== === PREMIER === ===");
}
</script>

   

   

</html>
0
Rejoignez-nous