Mon script JS ne s'éxecute pas ! [Résolu]

Signaler
Messages postés
7
Date d'inscription
mercredi 23 décembre 2009
Statut
Membre
Dernière intervention
28 janvier 2010
-
Messages postés
7
Date d'inscription
mercredi 23 décembre 2009
Statut
Membre
Dernière intervention
28 janvier 2010
-
Bonjour,

Je viens vous demander de l'aide, et croyez moi que étant autodidacte c'est difficile pour moi de venir demander de l'aide, mais là après avoir chercher et écumé bon nombre de forum divers et varié, je me retrouve quand même bloqué ! :)

Bon ... je m'explique :

J'ai un livre d'or et je doit appeler un certain nombre de fonctions JS dans une page PHP le souci c'est que celle-ci ne se charge pas (ou ne s'exécute pas), plutôt que des blabla voyons un peu le code ! :D

Ma page PHP :
<?php 
include('connect.php'); 
include('conf.inc.php');

$nom=$_POST["nom"];
$msg=$_POST["msg"];
$note=$_POST["note"];

if ( isset($msg) && isset($nom) && isset($note) && $msg!="" )
{
$message = htmlentities($msg ,ENT_QUOTES );

$date=date('Y/m/d');

$query="INSERT INTO `guestbook` ( `id` , `date` , `name` , `COMMENT` ,  `note`  ) VALUES ('', '$date', '$nom', '$message' , '$note')";

$result=mysql_query($query) or die("Insertion dans la base impossible");

echo '<script>alert(\'Votre message a bien été posté.\');</script>';
echo '<script>location.replace(\'speak.php?do=book\')</script>'; 
echo '<meta http-equiv="Refresh" content="1;URL=speak.php?do=book">';
}

$HTML.='

<form id="form_mess" method="post" action="speak.php?do=book" name="form_mess" onSubmit="return valid()">  

Votre pseudo :
,
';
if ($mysql_note == 'oui')
{
$HTML.='----

Votre note :
<select class="input" name="note">
<option selected value="">--</option>
<option value="10">10 : Respect !!</option>
<option value="9">9 : Ouais, ça gère !!</option>
<option value="8">8 : Bravo les mecs !</option>
<option value="7">7 : J\'aime bien ...</option>
<option value="6">6 : Ah, pas mal !</option>
<option value="5">5 : Moyen</option>
<option value="4">4 : Encore un effort</option>
<option value="3">3 : Mouais ...</option>
<option value="2">2 : Hum ... bof !</option>
<option value="1">1 : Ca peut aller</option>
<option value="0">0 : Complètement nul</option>
</select>,
';
}
$HTML.='----

<hr class="hr" />';
if ($mysql_mep == 'oui')
{
$HTML.='

';
}
$HTML.='

<textarea id="msg" class="input" name="msg" rows="10" cols="60"></textarea>
<script>LimiterTextArea(document.form_mess.msg, '.$mysql_car.', div_decompte)</script>
<fieldset><legend align="top">Smiley</legend>';
if ($mysql_smiley == 'oui')
{
include('smiley.inc.php');
}
$HTML.='</fieldset>


</form>

';

?>


Et mon script JS qui est appelé dans le <head> de la page HTML :
// JavaScript Document
function add_smile(smile) {
        var smtexte = form_mess.msg.value + "";
        form_mess.msg.value = form_mess.msg.value + smile
}


function valid() // validation du formulaire
{
    if (form_mess.nom.value == "")
        {
            alert('Vous avez oublié votre pseudo !');
return false;
        }

if (form_mess.note.value == "")
        {
            alert('Il faut mettre une note !');
return false;
        } 

if (form_mess.msg.value == "")
        {
            alert('Vous avez oublié de mettre un message !');
return false;
        }

     if (form_mess.msg.value.length<10)
        {
            alert('Votre message contient moins de 10 caractères !');
return false;
        }
return true;
}


var fenetre = null;

function choisirCouleur(formulaire, nom_champ) {
    // ouvre une fenêtre afin de sélectionner une couleur, qui sera transmise au champ dont le nom est en argument
    // 2 arguments : le formulaire (this.form dans l'appel de la fonction) et le nom du champ

    // pour éviter d'ouvrir plusieurs fenêtres simultanées
    if (fenetre && !fenetre.closed) fenetre.close();
    // passe 2 paramètres à couleurs.html : le nom du formulaire et celui du champ
    fenetre = window.open("couleurs.html?" + formulaire.name + "&" + nom_champ, "fenCouleurs", "width=400,height=270,resizable=1");
    if (!fenetre.opener) fenetre.opener = self;
}


Voilà ... je ne comprend pas pourquoi quand je clique sur un des boutons Gras, italique, ... ça ne m'affiche pas les balises dans le <textarea>, aidez moi, ou je vais finir par me suicider ! :D

Je tiens à préciser que la dernière fonction JS (choisirCouleur()) fonctionne ... pourquoi pas les autres ?

PS: si il vous manque quoi que ce soit comme précision n'hésitez pas ! :)

4 réponses

Messages postés
7
Date d'inscription
mercredi 23 décembre 2009
Statut
Membre
Dernière intervention
28 janvier 2010

$HTML.= c'est pour afficher le contenu sans réactualiser toute la page ! :)

Mais enfaite j'ai trouvé ... j'ai mis le script JS directement dans <head>, parce que ça n'exécuter pas les fonctions quand c'était dans un .js !

Allez comprendre pourquoi ... donc ça fonctionne très bien, merci quand même ! ;)


_________________________
Rappelez-vous qu'hier est parti pour toujours, demain ne viendra peut-être jamais, seul aujourd'hui vous appartient ...
Messages postés
2380
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
16
Tu as installé un Firebug sur Firefox ? Il est très bavard, et très utile pour montrer les erreurs.
S.
Messages postés
7
Date d'inscription
mercredi 23 décembre 2009
Statut
Membre
Dernière intervention
28 janvier 2010

Oui, biensûr ... mais rien à faire et si je passe pas par $HTML.= mais par du HTML pur les scripts s'exécute très bien, ça fait 2 jours que je suis là dessus et que j'essaye toutes les possibilité possible que je connaisse ! :D

Et puis comme c'est un projet pour pouvoir faire valoir une formation, il faudrait que se soit nickel ! :)


_________________________
Rappelez-vous qu'hier est parti pour toujours, demain ne viendra peut-être jamais, seul aujourd'hui vous appartient ...
Messages postés
2380
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
16
Ca veut dire quoi ?
$HTML.=
??
Et tu sur que si tu inclus du PHP dans tes pages que celles-ci soient interprétées par PHP ?
Et que te dit Firebug ? Il doit bien t'indiquer une ligne d'erreur.
S.