11548 sujets

JavaScript, DOM et API Web HTML5

Modérateur
Bonjour,
Je souhaiterais ajouter une barre d'outils à une plate forme de discussion (FluxBB pour ne pas la nommer) de manière dynamique. Le code étant assez long, je vous colle ici où le problème se pose :
//Inserting Toolbar on the right place
var obj = document.getElementsByName('<?php echo $textarea_name ?>')[0];
var span = document.createElement('span');
span.setAttribute("id","ezbbctoolbar");
span.setAttribute("idName","ezbbctoolbar"); /* For IE */
span.innerHTML = doToolbar();
var html = obj.parentNode;
html.insertBefore(span,obj);

Le code php que vous voyez dans ces lignes génère bien le nom du textarea.
L'erreur que je vois dans la console se trouve dans la ligne suivante :
var html = obj.parentNode;

Pourtant obj est bien défini !!!

S'il vous faut davantage de code pour le petit coup de pouce que je demande, merci de me le préciser.
Avec mes remerciements anticipés. Smiley smile
Modifié par jojaba (16 May 2011 - 11:28)
Modérateur
Je crois qu'il va falloir que je précise tout ça pour obtenir de l'aide hein ?
Smiley edit
J'ai effacé les précisions données puisque le problème venait bien du bout de code que j'ai collé dans mon premier message (ou plutôt de son placement).
[/edit]
Merci pour votre aide.
Modifié par jojaba (16 May 2011 - 11:32)
Salut,

obj est undefined car il n'existe pas de balise signature ou req_message

$textarea_name = (PUN_ACTIVE_PAGE == 'profile') ? 'signature' : 'req_message';
var field  = document.getElementsByName('<?php echo $textarea_name ?>')[0];


Je ne sais pas trop ce que tu voulais faire, peut-être utilise getElementsByClassName ?
Modérateur
jo_link_noir a écrit :
Salut,

obj est undefined car il n'existe pas de balise signature ou req_message

$textarea_name = (PUN_ACTIVE_PAGE == 'profile') ? 'signature' : 'req_message';
var field  = document.getElementsByName('&lt;?php echo $textarea_name ?&gt;')[0];


Bonjour et merci,
Si, si, req_message et signature existent bien et je peux constater dans le code source d ela page que la bonne valeur (insérée par php) est bien ajoutée.
Entre temps, mon problème a été résolu sur un autre forum : http://www.siteduzero.com/forum-83-646923-objet-indefini-en-recuperant-par-tag-name.html
Le problème veniat du fiat que la page n'éytai pas entièrement chargée lorsque je voulais ajouter la barre d'outils. Le code qui fonctionne donc :
//Adding the Toolbar on the right place
window.onload = function(){
    var textarea = document.getElementsByName('&lt;?php echo $textarea_name ?&gt;')[0];
	var span = document.createElement('span');
	span.setAttribute("id","ezbbctoolbar");
	span.setAttribute("idName","ezbbctoolbar"); /* For IE */
	span.innerHTML = doToolbar();
	var html = textarea.parentNode;
	html.insertBefore(span,textarea);
}

Smiley smile