Pourquoi alert s 'affiche pas [Résolu]

msi079 229 Messages postés lundi 2 août 2010Date d'inscription 25 juillet 2013 Dernière intervention - 21 juil. 2012 à 18:25 - Dernière réponse :  Utilisateur anonyme
- 28 août 2012 à 18:45
salut j'apprend ajax . dès que je commence et deja je suis bloqué . j 'essai de reprendre un tuto . mais je sais pas pourquoi l alert s 'affiche pas .

voici le code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
if(function(){
  $("#formcom").submit(function(){
    pseudo = $(this).find("input[name=pseudo]").val();
message = $(this).find("textarea[name=message]").val();
alert(speudo+"---"+message);
   });
});
</script>
</head>




les commentaires

<?php
$q =mysql_query("SELECT * FROM coms") ;
while($d = mysql_fetch_assoc($q)){
 echo $d['pseudo']."a ecrire :";
 echo "
";
 echo $d['com'];
 echo "
";
}
?>
<form   method="post" action="" id="formcom">

  
    
  


   ton message


  
    <textarea name="message" cols="30" rows="5"></textarea>
  


  
    
  


</form>



</html>
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
msi079 229 Messages postés lundi 2 août 2010Date d'inscription 25 juillet 2013 Dernière intervention - 13 août 2012 à 19:54
3
Merci
oui merci ça marche . merci beaucoup . les chemin n etais pas justes

Merci msi079 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de msi079
Utilisateur anonyme - 24 juil. 2012 à 16:10
0
Merci
Salut,

Si tu n'as pas d'alert, c'est que tu ne rentres jamais dans ton if. Tu m'expliques ce que tu as voulu faire avec if(function(){ ?!


--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
Commenter la réponse de Utilisateur anonyme
msi079 229 Messages postés lundi 2 août 2010Date d'inscription 25 juillet 2013 Dernière intervention - 24 juil. 2012 à 16:48
0
Merci
meme sans le if(function(){ . j 'ai pas d alerte
Commenter la réponse de msi079
Utilisateur anonyme - 25 juil. 2012 à 15:35
0
Merci
Salut,

Quel framework JS utilises-tu ? Mootools ou jQuery par exemple ? Tu n'as pas de warnings ou de message d'erreur dans ta console de développement ? L'idée est que le code qui définit ta fonction de submit qui afficher la pop-up est définit trop tôt. En gros, il faut que tu appelles ce code quand la page sera entièrement chargée, afin que le JavaScrit puisse récupérer le composant formcom et y définir la fonction submit. De mémoire, c'est du document.ready ou du windows.ready, je ne sais plus, tout dépend du framework utilisés.

Vois-tu où je veux en venir ?


--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
Commenter la réponse de Utilisateur anonyme
msi079 229 Messages postés lundi 2 août 2010Date d'inscription 25 juillet 2013 Dernière intervention - 25 juil. 2012 à 17:36
0
Merci
je vois pas trop vu que je suis debutant
Commenter la réponse de msi079
msi079 229 Messages postés lundi 2 août 2010Date d'inscription 25 juillet 2013 Dernière intervention - 25 juil. 2012 à 20:10
0
Merci
comment je fait pour savoir quel framework js j 'itilise
Commenter la réponse de msi079
Utilisateur anonyme - 26 juil. 2012 à 16:43
0
Merci
<script type= "text/javascript" src= "http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>


C'est une blague ou tu ne connais même pas les outils que tu utilises et le code sur lequel tu travailles ? Je n'avais pas fait attention à ça au début, là ton framework est jQuery . Je te conseille de te renseigner dessus car ne pas savoir ce qu'on utilise pour développer est assez déconcertant.

je vois pas trop vu que je suis debutant

Bon, je vais faire simple, mais ça me surprend que quelqu'un t'aie mis sur un projet sans t'expliquer un minimum pourquoi tu passes par jQuery.

Explication :
1) Tu as une page. Celle ci à différents composants comme des champs de textes, des boutons, des liens, etc. Ton navigateur va interpréter le code HTML pour construire ta page.
2) Tu as du JavaScript. Ce langage côté client te permet de manipuler tes pages. Tu des frameworks comme MooTools et jQuery. jQuery t'offre un panel de fonctions avec une syntaxe particulière.
3) Toi, tu veux ajouter dynamiquement (pourquoi d'ailleurs ne pas le faire une bonne fois pour toute ?) une fonction à ton formulaire qui va être exécutée quand il sera envoyé au serveur.
4) Pour ce faire, tu chopes ton formulaire par son id, d'où $("#formcom").submit(...)
5) Sauf que ce code s'exécute pendant que ta page se charge. Or, il se peut très bien que le code soit exécuté avant que ton formulaire soit créé. Donc avec $("#formcom"), tu ne récupères rien puisque ta page n'est pas entièrement chargée.
6) L'idée que je t'ai proposée est d'attendre que ta page se charge et de définir ensuite cette fonction.

D'où le code (par exemple) :
<script type  ="text/javascript">
$(window).load(function() {
  $("#formcom").submit(function(){
    pseudo = $(this).find("input[name=pseudo]").val();
message = $(this).find("textarea[name=message]").val();
alert(speudo+"---"+message);
   });
}
</s]cript>



C'est clair cette fois ? Pourquoi ton if(function{... ? Essaye déjà avec le code plus haut.

--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
Commenter la réponse de Utilisateur anonyme
msi079 229 Messages postés lundi 2 août 2010Date d'inscription 25 juillet 2013 Dernière intervention - 28 juil. 2012 à 14:17
0
Merci
j'ai fais ce que tu ma demandé mais toujours pas d'alerte :
voici le code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(window).load(function() {
  $("#formcom").submit(function(){
    pseudo = $(this).find("input[name=pseudo]").val();
message = $(this).find("textarea[name=message]").val();
alert(speudo+"---"+message);
   });
}
</script>
</head>




les commentaires

<?php
include("conf.php");
$q =mysql_query("SELECT * FROM coms") ;
while($d = mysql_fetch_assoc($q)){
 echo $d['pseudo']."a ecrire :";
 echo "
";
 echo $d['com'];
 echo "
";
}
?>
<form   method="post" action="" id="formcom">

  
    
  


   ton message


  
    <textarea name="message" cols="30" rows="5"></textarea>
  


  
    
  


</form>






</html>
Commenter la réponse de msi079
Utilisateur anonyme - 28 juil. 2012 à 15:15
0
Merci
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.js"></script>


Je peux savoir pourquoi as-tu changé ton head ? Importer deux fois la même ne sert absolument à rien. Remet le head précédent et essaye à nouveau (cf ci-dessous).


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(window).load(function() {
  $("#formcom").submit(function(){
    pseudo = $(this).find("input[name=pseudo]").val();
message = $(this).find("textarea[name=message]").val();
alert(speudo+"---"+message);
   });
}
</script>
</head>




les commentaires

<?php
include("conf.php");
$q =mysql_query("SELECT * FROM coms") ;
while($d = mysql_fetch_assoc($q)){
 echo $d['pseudo']."a ecrire :";
 echo "
";
 echo $d['com'];
 echo "
";
}
?>
<form   method="post" action="" id="formcom">

  
    
  


   ton message


  
    <textarea name="message" cols="30" rows="5"></textarea>
  


  
    
  


</form>






</html>


--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
Commenter la réponse de Utilisateur anonyme
msi079 229 Messages postés lundi 2 août 2010Date d'inscription 25 juillet 2013 Dernière intervention - 28 juil. 2012 à 16:58
0
Merci
oui merci les message et pseudo s 'affichent mais pas de boite de dialogue
Commenter la réponse de msi079
Utilisateur anonyme - 29 juil. 2012 à 12:56
0
Merci
les message et pseudo s 'affichent mais pas de boite de dialogue

Comment ça ? De quoi parles-tu en parlant de messages ?

As-tu testé le code que j'ai mis dans mon précédent post ? As-tu vérifié si les chemins vers les scripts sont bons ?

--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 28 août 2012 à 18:45
0
Merci
Dans ce cas, clique sur "Réponse acceptée".


--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
Commenter la réponse de Utilisateur anonyme

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.