Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

règles de mise à la ligne

24 réponses
Avatar
Une Bévue
je ne me souviens plus du tout des règles de mise à la ligne pour js...
par exemple j'ai écrit :
var footer_right=document.getElementById('footer_right');
var button="<a class='button' href='javascript:void(0)' ";
button+="onclick='"+button_function+";return false'><span ";
button+="id='"+button_id+"'>"+button_label+"</span></a>";
footer_right.innerHTML+=button;

parce que je me suis rendu compte qu'on ne pouvait pas écrire :
var footer_right=document.getElementById('footer_right');
footer_right.innerHTML+="<a class='button' href='javascript:void(0)' ";
footer_right.innerHTML+="onclick='"+button_function+";return
false'><span ";
footer_right.innerHTML+="id='"+button_id+"'>"+button_label+"</span></a>";

car alors le "html" est mal interprété par le navigateur, Chrome sous
Ubuntu, les < sont transformés en &lt; et le balisage disparaît.
J'en ai conclu que pour faire un #innerHTML+= il faut que le membre de
droite soit "balancé", c'est une chose.

donc tout au dessus, pour la variable "button" est-ce que j'aurais pu
n'écrire qu'une seule commande mais sur plusieurs lignes comme par exemple :

var button="<a class='button' href='javascript:void(0)' " +
"onclick='"+button_function+";return false'><span " +
"id='"+button_id+"'>"+button_label+"</span></a>";

je sais qu'on ne peut pas écrire, comme en php :

var button="<a class='button' href='javascript:void(0)'
onclick='"+button_function+";return false'><span
id='"+button_id+"'>"+button_label+"</span></a>";

4 réponses

1 2 3
Avatar
Une Bévue
On 07/09/2011 15:45, SAM wrote:
Le 06/09/11 11:22, Une Bévue a écrit :
On 06/09/2011 11:04, Matt... wrote:


Et comme ceci :

var button = document.createElement("a");
button.className = "button";
button.setAttribute("href", "javascript:void(0)");
button.addEventListener("click", button_function);
footer_right.appendChild(button);




parce que la pluspart du html ajouté l'est par php où je dois bien
utiliser #innerHTML,



ja n'a rien compris à c'ke tu dis !

qu'a à voir le pb du PHP dans l'histoire ?

Le php ne sert qu'à écrire le code html (et celui JS)
il n'inneriseHTML rien (à ma connaissance ? !)

echo "monBoutonALaFesse.innerHTML = 'ça me gratte';";






c'est à propos de la réponse de Matt.

par xhr j'obtiens une réponse de php : #responseText et là je fais :
#innertHTML=#responseText;

je ne peux pas construire une réponse de php donnant un (sous)arbre DOM
en xml (ie. #responseXML) car le DOM du navigateur ne reconnaît que les
noeuds créés par lui-même.

donc pour ce que renvoie php je suis en text (#responseText) et pas en
xml (#responseXML), le HTML changé/ajouté se fait donc par string.

du coup, je ne vois pas pourquoi je ne le ferai pas aussi côté js, je
veux dire quand c'est le js (au lieu du php) qui crée le html à
changer/ajouter.

alors là-dessus qq'un me répond que je peux tjs par php envoyer une
string MAIS qui est en fait du js et du non du html, ce js-là, envoyé et
construit par php, peut très bien être du js pour construire des noueds
DOM du navigateur...

bon, je suis d'accord, mais je pense que ça ne vaut pas le coup.

le #innerHTML=... étant parsé par le navigateur il est tout à fait
fonctionnel.
Avatar
SAM
Le 07/09/11 16:03, Une Bévue a écrit :

bon, je suis d'accord, mais je pense que ça ne vaut pas le coup.



il est certain que si tu ajaxionnes un truc qui doit être mouliné par le
php (pas des bêtes trucs déjà tout prèts) ça parait assez idiot que le
truc reçu soit du code de moulinage de ce que reçu ou même de ce que
déjà affiché.

Ceci étant, et en local à ce qu'il apparait, de recharger complètement
la page déjà affichée ne doit guère être + long que d'en ajaxionner
qques fragments ?

le #innerHTML=... étant parsé par le navigateur il est tout à fait
fonctionnel.



Oui, bon là, suivant les cas, je dubitative.
(mébon, peut-être Safari est-il parvenu à dépasser les anciens couacs
relatifs aux attributs javascriptesques ?)

--
Stéphane Moriaux avec/with iMac-intel
Avatar
Une Bévue
On 07/09/2011 23:18, SAM wrote:
il est certain que si tu ajaxionnes un truc qui doit être mouliné par le
php (pas des bêtes trucs déjà tout prèts) ça parait assez idiot que le
truc reçu soit du code de moulinage de ce que reçu ou même de ce que
déjà affiché.



ben oui, c'est ce que je pense.

Ceci étant, et en local à ce qu'il apparait, de recharger complètement
la page déjà affichée ne doit guère être + long que d'en ajaxionner
qques fragments ?



ben, dans mon cas, le js avec xhr et php qui interroge une db gère 4/5
DIVs indépendamment l'une de l'autre.

un click sur la colonne de gauche rempli celle du centre ;
un click sur celle du centre rempli celle de droite

+ la gestion des boutons dans deux DIVs du footer.

amha ce serait super chiant à faire en rechargeant une page...

tu as vu ? j'ai posté sur un design 3 colonnes :

<http://studio.quatorze.free.fr/3cols/>

inspiré d'un design 2 colonnes :

<http://lehollandaisvolant.net/tuto/css.php#colonne>

voir au niveau "Simuler un tableau", c'est super simple à utiliser...
Avatar
unbewusst.sein
SAM wrote:

heu ... le mien, il dit :
Footer == Foutoir
hors donc la bonne ortho serait
foirer == foutoir

:-D


>> boutons qui peuvent être
>> à :
>> Ajouter ;
>> Modifier ;
>> Supprimer ;
>> Sauvegarder ;
>> Annuler.
>>
>> Il est vrai que je pourrais les construire tous, une fois pour toutes, par
>> DOM et les inserrer au besoin...

je comprends pas que ce ne soit pas déjà fait ! ! ! ;-)
(ou même en php ?)



Fichu salopard )))

Euh, je viens juste de réviser le design html/css, mais c'est dans le
tiroir, sous le coude...

--
« Il n'existe que deux choses infinies, l'univers et
la bêtise humaine... mais pour l'univers, je n'ai pas de
certitude absolue. »
(Albert Einstein)
1 2 3