[Javascript] execution conditionnelle

Résolu/Fermé
Pilot-Project Messages postés 11 Date d'inscription dimanche 13 janvier 2002 Statut Membre Dernière intervention 21 mars 2005 - 13 mars 2005 à 19:58
 Kaely - 13 oct. 2009 à 04:43
Bonour,

je désire actuellement compléter un site avec une mailing list, pour ce faire j'ai opté pour WAnewsletter (complet et en français) mais comme je ne serait pas la personne qui enverrait les mailing et que ces dernières doivent être au format HTML afin de garder une ligne graphique j'ai décidé d'ajouter FCKeditor, générateur html WYSIWYG online.

L'implémentation à été effectuée à l'aide d'un javascript, mais mon problème est que je ne connais pas ce language.

il faudrait que le script ne s'excute pas dans les cas ou il n'y aurait pas dans la page un textarea nommé "body_html". En effet ce cas se présente si on fait une liste en mode texte uniquement, ce qui pourrait arriver. Actuellement je me retrouve avec une erreure "Error: The TEXTAREA id "body_html" was not found" a chaque fois que je n'ai pas besoin du textarea pour l'html, c'est à dire lors d'envois uniquement en texte.

J'imagine devoir utiliser la fonction "if", mais je n'ai pas trouvé que mettre comme paramètres pour que ça joue.

Merci d'avance pour vos réponses.

Pilot-Project

5 réponses

Utilisateur anonyme
14 mars 2005 à 14:49
helllo,

si tu comprend quand même un peu le code, tu peux mettre ta condition

if(!document.all.body_html)
return;

ou quelque chose dans le genre ...
0
Pilot-Project Messages postés 11 Date d'inscription dimanche 13 janvier 2002 Statut Membre Dernière intervention 21 mars 2005
14 mars 2005 à 15:01
Hello,

en cherchant je suis tombé sur un code du genre
if (document.getElementsByName('body_html').length != 1)

ça me permetterai de savoir que le textarea n'existe pas, mais malheureusement ça ne marche pas, je vais donc essayer d'autres variations et d'autres solutions.

Pour ce qui est de comprendre le code, je comprend a peut pres, et en cas de doutes je check sur le net, mais je commence a me dire que je suis le seul ai aie à executer un code que si un textarea existe.
0
Utilisateur anonyme
14 mars 2005 à 15:04
essaie plutôt cette ligne:

if (document.getElementsByName('body_html'))

c'est la même chose que ce que je t'ai écris audessus mais cela respecte les "normes".

tente les deux pour voir.
0
Pilot-Project Messages postés 11 Date d'inscription dimanche 13 janvier 2002 Statut Membre Dernière intervention 21 mars 2005
14 mars 2005 à 15:28
Merci de ton aide. je n'ai pas réussi à faire fonctionner le script, mais j'ai trouvé une autre solution qui m'a couté un fichier supplémentaire, mais c'est pas grave.

Comme j'appelle un template depuis un fichier php j'ai crée un nouveau template ave uniquement le script en question dedans. Puis lputot que le script vérifie l'existance du textarea c'est php qui charge le template uniquement si il a l'intention de créer ce textarea, donc je n'ai plus de vérification à effectuer en javascript.

Merci beaucoup.

Edit:
afin d'être plus clair, je poste la solution, for simple par ailleur:
Originellement il n'y avait que:

$output->pparse('body');

a la fin du fichier
j'ai donc assigné deux templates

$output->set_filenames(array(
'body' => 'send_body.tpl',
'fcked'=> 'fckeditor.tpl'

puis en fin de fichier j'ai ajouté

if( $listdata['liste_format'] != FORMAT_TEXTE )
{
$output->pparse('fcked');
}

au "$output->pparse('body');" déjà existant.

J'ai déplacé le script du fichier "send_body.tpl" à "fckeditor.tpl" ce qui me permet de ne plus avoir a faire le test pour savoir si le textarea existe ou non.
0
Utilisateur anonyme
14 mars 2005 à 15:53
ah les templates ... j'en ai utilisé un peu l'année derniere (php+tpl smarty) et c'est dur de se mettre dedans au départ

mais c'est bien pratique quand m^me !
0

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

Posez votre question
Bonjour,

J'ai eu le même problème : "Error: The TEXTAREA id "body_html" was not found".
Il suffit de désactiver le message d'erreur en le commentant avec "//".
Dans le fichier "fckeditor.js" situé dans le dossier "fckeditor" transformer la ligne 126 en :
//alert( 'Error: The TEXTAREA with id or name set to "' + this.InstanceName + '" was not found' ) ;

Fin du message intempestif pour les listes en format texte.
0