[WB15] Passage d'une url comme variable à une fonction JS
5 réponses
paratge
Bonjour à tous,
J' ai des lacunes en JavaScript qui m'empêchent d'avancer et je ne
trouve pas de réponse sur le net...
J'ai une fonction LoadFond() qui fonctionne très bien et se présente
comme ceci :
function LoadFond()
{
document.getElementById('A2').style.backgroundImage='url(../IMAGES/FOND/FOND_1.jpg)';
}
Je dois rendre cette fonction dynamique sous peine d'en créer
inutilement une trentaine d'autres.
donc je passe en variable l'alias de la cellule à impacter
(MaCellule..nom) ça a l'air de fonctionner, par contre l'url en variable
ne fonctionne pas parceque certainement, je ne la passe pas comme il faut.
j'ai créé une chaine
Machaine =
[
'url(../IMAGES/FOND/%1)'
]
que j'implémente grace à une ChaineConstruit(MaChaine, MonImage)
et je passe le tout ce qui donne :
function LoadFond(sCellule,sUrl)
{
document.getElementById(sCellule).style.backgroundImage=sUrl;
alert(sUrl);
}
alert() me renvoie bien l'url passée, mais pas d'image affichée.
Je suppose que ma manièrre de passer l'url n'est pas la bonne...
peut-il recevoir un buffer ? (dans le cas d'images redimensionnées à la volée )
Merci encore
VA
Le 30/08/2012 09:54, paratge a écrit :
Bonjour à tous,
J' ai des lacunes en JavaScript qui m'empêchent d'avancer et je ne trouve pas de réponse sur le net...
J'ai une fonction LoadFond() qui fonctionne très bien et se présente comme ceci :
function LoadFond() { document.getElementById('A2').style.backgroundImage='url(../IMAGES/FOND/FOND_1.jpg)';
}
Je dois rendre cette fonction dynamique sous peine d'en créer inutilement une trentaine d'autres.
donc je passe en variable l'alias de la cellule à impacter (MaCellule..nom) ça a l'air de fonctionner, par contre l'url en variable ne fonctionne pas parceque certainement, je ne la passe pas comme il faut.
j'ai créé une chaine
Machaine > [ 'url(../IMAGES/FOND/%1)' ]
que j'implémente grace à une ChaineConstruit(MaChaine, MonImage)
et je passe le tout ce qui donne :
function LoadFond(sCellule,sUrl) { document.getElementById(sCellule).style.backgroundImage=sUrl; alert(sUrl); }
alert() me renvoie bien l'url passée, mais pas d'image affichée. Je suppose que ma manièrre de passer l'url n'est pas la bonne...
Si vous avez une piste...
Merci d'avance pour votre temps.
De cette façon ça fonctionne dans une page HTML hors webdev
function LoadFond(sCellule,sUrl) {
var obj = document.getElementById(sCellule); obj.style.backgroundImage=sUrl; }
Le 30/08/2012 09:54, paratge a écrit :
Bonjour à tous,
J' ai des lacunes en JavaScript qui m'empêchent d'avancer et je ne
trouve pas de réponse sur le net...
J'ai une fonction LoadFond() qui fonctionne très bien et se présente
comme ceci :
function LoadFond()
{
document.getElementById('A2').style.backgroundImage='url(../IMAGES/FOND/FOND_1.jpg)';
}
Je dois rendre cette fonction dynamique sous peine d'en créer
inutilement une trentaine d'autres.
donc je passe en variable l'alias de la cellule à impacter
(MaCellule..nom) ça a l'air de fonctionner, par contre l'url en variable
ne fonctionne pas parceque certainement, je ne la passe pas comme il faut.
j'ai créé une chaine
Machaine > [
'url(../IMAGES/FOND/%1)'
]
que j'implémente grace à une ChaineConstruit(MaChaine, MonImage)
et je passe le tout ce qui donne :
function LoadFond(sCellule,sUrl)
{
document.getElementById(sCellule).style.backgroundImage=sUrl;
alert(sUrl);
}
alert() me renvoie bien l'url passée, mais pas d'image affichée.
Je suppose que ma manièrre de passer l'url n'est pas la bonne...
Si vous avez une piste...
Merci d'avance pour votre temps.
De cette façon ça fonctionne dans une page HTML hors webdev
function LoadFond(sCellule,sUrl)
{
var obj = document.getElementById(sCellule);
obj.style.backgroundImage=sUrl;
}
J' ai des lacunes en JavaScript qui m'empêchent d'avancer et je ne trouve pas de réponse sur le net...
J'ai une fonction LoadFond() qui fonctionne très bien et se présente comme ceci :
function LoadFond() { document.getElementById('A2').style.backgroundImage='url(../IMAGES/FOND/FOND_1.jpg)';
}
Je dois rendre cette fonction dynamique sous peine d'en créer inutilement une trentaine d'autres.
donc je passe en variable l'alias de la cellule à impacter (MaCellule..nom) ça a l'air de fonctionner, par contre l'url en variable ne fonctionne pas parceque certainement, je ne la passe pas comme il faut.
j'ai créé une chaine
Machaine > [ 'url(../IMAGES/FOND/%1)' ]
que j'implémente grace à une ChaineConstruit(MaChaine, MonImage)
et je passe le tout ce qui donne :
function LoadFond(sCellule,sUrl) { document.getElementById(sCellule).style.backgroundImage=sUrl; alert(sUrl); }
alert() me renvoie bien l'url passée, mais pas d'image affichée. Je suppose que ma manièrre de passer l'url n'est pas la bonne...
Si vous avez une piste...
Merci d'avance pour votre temps.
De cette façon ça fonctionne dans une page HTML hors webdev
function LoadFond(sCellule,sUrl) {
var obj = document.getElementById(sCellule); obj.style.backgroundImage=sUrl; }
Roumégou Eric
VA avait écrit le 30/08/2012 :
Le 30/08/2012 09:54, paratge a écrit :
Bonjour à tous,
J' ai des lacunes en JavaScript qui m'empêchent d'avancer et je ne trouve pas de réponse sur le net...
J'ai une fonction LoadFond() qui fonctionne très bien et se présente comme ceci :
function LoadFond() { document.getElementById('A2').style.backgroundImage='url(../IMAGES/FOND/FOND_1.jpg)';
}
Je dois rendre cette fonction dynamique sous peine d'en créer inutilement une trentaine d'autres.
donc je passe en variable l'alias de la cellule à impacter (MaCellule..nom) ça a l'air de fonctionner, par contre l'url en variable ne fonctionne pas parceque certainement, je ne la passe pas comme il faut.
j'ai créé une chaine
Machaine >> [ 'url(../IMAGES/FOND/%1)' ]
que j'implémente grace à une ChaineConstruit(MaChaine, MonImage)
et je passe le tout ce qui donne :
function LoadFond(sCellule,sUrl) { document.getElementById(sCellule).style.backgroundImage=sUrl; alert(sUrl); }
alert() me renvoie bien l'url passée, mais pas d'image affichée. Je suppose que ma manièrre de passer l'url n'est pas la bonne...
Si vous avez une piste...
Merci d'avance pour votre temps.
De cette façon ça fonctionne dans une page HTML hors webdev
function LoadFond(sCellule,sUrl) {
var obj = document.getElementById(sCellule); obj.style.backgroundImage=sUrl; }
C'est du code Navigateur, donc il faut bien s'assurer que la variable est dispo (et raffarichie). Donc on passe par une variable écran cachée (pour sUrl)
un conseil : utiliser des noms de variables JS en majuscules et décocher ds Webdev le fait qu'il renomme les variables.
Si l'info est obtenue depuis un code serveur, bien s'assurer que les valeurs sont bien renvoyées au serveur (submit) ou passer par de l'ajax.
voilà qq pistes ...
-- Eric Roumégou Webmaster des wtabletes http://cerbermail.com/?qE7t4Qvilo (cliquez sur le lien ci-dessus pour me contacter en privé)
VA avait écrit le 30/08/2012 :
Le 30/08/2012 09:54, paratge a écrit :
Bonjour à tous,
J' ai des lacunes en JavaScript qui m'empêchent d'avancer et je ne
trouve pas de réponse sur le net...
J'ai une fonction LoadFond() qui fonctionne très bien et se présente
comme ceci :
function LoadFond()
{
document.getElementById('A2').style.backgroundImage='url(../IMAGES/FOND/FOND_1.jpg)';
}
Je dois rendre cette fonction dynamique sous peine d'en créer
inutilement une trentaine d'autres.
donc je passe en variable l'alias de la cellule à impacter
(MaCellule..nom) ça a l'air de fonctionner, par contre l'url en variable
ne fonctionne pas parceque certainement, je ne la passe pas comme il faut.
j'ai créé une chaine
Machaine >> [
'url(../IMAGES/FOND/%1)'
]
que j'implémente grace à une ChaineConstruit(MaChaine, MonImage)
et je passe le tout ce qui donne :
function LoadFond(sCellule,sUrl)
{
document.getElementById(sCellule).style.backgroundImage=sUrl;
alert(sUrl);
}
alert() me renvoie bien l'url passée, mais pas d'image affichée.
Je suppose que ma manièrre de passer l'url n'est pas la bonne...
Si vous avez une piste...
Merci d'avance pour votre temps.
De cette façon ça fonctionne dans une page HTML hors webdev
function LoadFond(sCellule,sUrl)
{
var obj = document.getElementById(sCellule);
obj.style.backgroundImage=sUrl;
}
C'est du code Navigateur, donc il faut bien s'assurer que la variable
est dispo (et raffarichie).
Donc on passe par une variable écran cachée (pour sUrl)
un conseil : utiliser des noms de variables JS en majuscules et
décocher ds Webdev le fait qu'il renomme les variables.
Si l'info est obtenue depuis un code serveur, bien s'assurer que les
valeurs sont bien renvoyées au serveur (submit) ou passer par de
l'ajax.
voilà qq pistes ...
--
Eric Roumégou
Webmaster des wtabletes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
J' ai des lacunes en JavaScript qui m'empêchent d'avancer et je ne trouve pas de réponse sur le net...
J'ai une fonction LoadFond() qui fonctionne très bien et se présente comme ceci :
function LoadFond() { document.getElementById('A2').style.backgroundImage='url(../IMAGES/FOND/FOND_1.jpg)';
}
Je dois rendre cette fonction dynamique sous peine d'en créer inutilement une trentaine d'autres.
donc je passe en variable l'alias de la cellule à impacter (MaCellule..nom) ça a l'air de fonctionner, par contre l'url en variable ne fonctionne pas parceque certainement, je ne la passe pas comme il faut.
j'ai créé une chaine
Machaine >> [ 'url(../IMAGES/FOND/%1)' ]
que j'implémente grace à une ChaineConstruit(MaChaine, MonImage)
et je passe le tout ce qui donne :
function LoadFond(sCellule,sUrl) { document.getElementById(sCellule).style.backgroundImage=sUrl; alert(sUrl); }
alert() me renvoie bien l'url passée, mais pas d'image affichée. Je suppose que ma manièrre de passer l'url n'est pas la bonne...
Si vous avez une piste...
Merci d'avance pour votre temps.
De cette façon ça fonctionne dans une page HTML hors webdev
function LoadFond(sCellule,sUrl) {
var obj = document.getElementById(sCellule); obj.style.backgroundImage=sUrl; }
C'est du code Navigateur, donc il faut bien s'assurer que la variable est dispo (et raffarichie). Donc on passe par une variable écran cachée (pour sUrl)
un conseil : utiliser des noms de variables JS en majuscules et décocher ds Webdev le fait qu'il renomme les variables.
Si l'info est obtenue depuis un code serveur, bien s'assurer que les valeurs sont bien renvoyées au serveur (submit) ou passer par de l'ajax.
voilà qq pistes ...
-- Eric Roumégou Webmaster des wtabletes http://cerbermail.com/?qE7t4Qvilo (cliquez sur le lien ci-dessus pour me contacter en privé)
paratge
Le 31/08/2012 10:50, Roumégou Eric a écrit :
VA avait écrit le 30/08/2012 :
Le 30/08/2012 09:54, paratge a écrit :
Bonjour à tous,
J' ai des lacunes en JavaScript qui m'empêchent d'avancer et je ne trouve pas de réponse sur le net...
J'ai une fonction LoadFond() qui fonctionne très bien et se présente comme ceci :
function LoadFond() { document.getElementById('A2').style.backgroundImage='url(../IMAGES/FOND/FOND_1.jpg)';
}
Je dois rendre cette fonction dynamique sous peine d'en créer inutilement une trentaine d'autres.
donc je passe en variable l'alias de la cellule à impacter (MaCellule..nom) ça a l'air de fonctionner, par contre l'url en variable ne fonctionne pas parceque certainement, je ne la passe pas comme il faut.
j'ai créé une chaine
Machaine >>> [ 'url(../IMAGES/FOND/%1)' ]
que j'implémente grace à une ChaineConstruit(MaChaine, MonImage)
et je passe le tout ce qui donne :
function LoadFond(sCellule,sUrl) { document.getElementById(sCellule).style.backgroundImage=sUrl; alert(sUrl); }
alert() me renvoie bien l'url passée, mais pas d'image affichée. Je suppose que ma manièrre de passer l'url n'est pas la bonne...
Si vous avez une piste...
Merci d'avance pour votre temps.
De cette façon ça fonctionne dans une page HTML hors webdev
function LoadFond(sCellule,sUrl) {
var obj = document.getElementById(sCellule); obj.style.backgroundImage=sUrl; }
C'est du code Navigateur, donc il faut bien s'assurer que la variable est dispo (et raffarichie). Donc on passe par une variable écran cachée (pour sUrl)
un conseil : utiliser des noms de variables JS en majuscules et décocher ds Webdev le fait qu'il renomme les variables.
Si l'info est obtenue depuis un code serveur, bien s'assurer que les valeurs sont bien renvoyées au serveur (submit) ou passer par de l'ajax.
voilà qq pistes ...
Merci Eric pour tes lumières
Je passe bien mon url maintenant, (je la construis directement dans ma fonction js, MAIS, J'ai une autre lacune... L'url que je construis, doit renvoyer une valeur, or, dans la code source de ma page, j'ai l'url écrite en dur et pas la valeur renvoyée par un ChaineAffiche()...
Le but de tout ceci est de pouvoir redimensionner à la volée des images pour les afficher comme image de fond de cellules, donc j'ai créé une page inspirée de la page flash.awp dans l'exemple catalogue internet qui fonctionne très bien lorsque je saisis l'url, mais n'est pas appelée par ma fonction puisque je retrouve l'url et non la valeur renvoyée dans le code de ma page :(
Voici ma fonction :
function ChargeImages(nL,nH,nC)
{ var Img = "FOND_"; var Cell = "A"; var Url = 'flash.awp?fichier='; var Largeur = '&largeur='+nL; var Hauteur = '&hauteur='+nH; var Couleur = '&couleur='+nC; var sChemin for (i=1; i<10; i++) { sChemin = Url+i+Largeur+Hauteur+Couleur; LoadFond(Cell+(i+1),sChemin); } }
J' ai des lacunes en JavaScript qui m'empêchent d'avancer et je ne
trouve pas de réponse sur le net...
J'ai une fonction LoadFond() qui fonctionne très bien et se présente
comme ceci :
function LoadFond()
{
document.getElementById('A2').style.backgroundImage='url(../IMAGES/FOND/FOND_1.jpg)';
}
Je dois rendre cette fonction dynamique sous peine d'en créer
inutilement une trentaine d'autres.
donc je passe en variable l'alias de la cellule à impacter
(MaCellule..nom) ça a l'air de fonctionner, par contre l'url en variable
ne fonctionne pas parceque certainement, je ne la passe pas comme il
faut.
j'ai créé une chaine
Machaine >>> [
'url(../IMAGES/FOND/%1)'
]
que j'implémente grace à une ChaineConstruit(MaChaine, MonImage)
et je passe le tout ce qui donne :
function LoadFond(sCellule,sUrl)
{
document.getElementById(sCellule).style.backgroundImage=sUrl;
alert(sUrl);
}
alert() me renvoie bien l'url passée, mais pas d'image affichée.
Je suppose que ma manièrre de passer l'url n'est pas la bonne...
Si vous avez une piste...
Merci d'avance pour votre temps.
De cette façon ça fonctionne dans une page HTML hors webdev
function LoadFond(sCellule,sUrl)
{
var obj = document.getElementById(sCellule);
obj.style.backgroundImage=sUrl;
}
C'est du code Navigateur, donc il faut bien s'assurer que la variable
est dispo (et raffarichie).
Donc on passe par une variable écran cachée (pour sUrl)
un conseil : utiliser des noms de variables JS en majuscules et décocher
ds Webdev le fait qu'il renomme les variables.
Si l'info est obtenue depuis un code serveur, bien s'assurer que les
valeurs sont bien renvoyées au serveur (submit) ou passer par de l'ajax.
voilà qq pistes ...
Merci Eric pour tes lumières
Je passe bien mon url maintenant, (je la construis directement dans ma
fonction js, MAIS, J'ai une autre lacune...
L'url que je construis, doit renvoyer une valeur, or, dans la code
source de ma page, j'ai l'url écrite en dur et pas la valeur renvoyée
par un ChaineAffiche()...
Le but de tout ceci est de pouvoir redimensionner à la volée des images
pour les afficher comme image de fond de cellules, donc j'ai créé une
page inspirée de la page flash.awp dans l'exemple catalogue internet qui
fonctionne très bien lorsque je saisis l'url, mais n'est pas appelée par
ma fonction puisque je retrouve l'url et non la valeur renvoyée dans le
code de ma page :(
Voici ma fonction :
function ChargeImages(nL,nH,nC)
{
var Img = "FOND_";
var Cell = "A";
var Url = 'flash.awp?fichier=';
var Largeur = '&largeur='+nL;
var Hauteur = '&hauteur='+nH;
var Couleur = '&couleur='+nC;
var sChemin
for (i=1; i<10; i++) {
sChemin = Url+i+Largeur+Hauteur+Couleur;
LoadFond(Cell+(i+1),sChemin);
}
}
J' ai des lacunes en JavaScript qui m'empêchent d'avancer et je ne trouve pas de réponse sur le net...
J'ai une fonction LoadFond() qui fonctionne très bien et se présente comme ceci :
function LoadFond() { document.getElementById('A2').style.backgroundImage='url(../IMAGES/FOND/FOND_1.jpg)';
}
Je dois rendre cette fonction dynamique sous peine d'en créer inutilement une trentaine d'autres.
donc je passe en variable l'alias de la cellule à impacter (MaCellule..nom) ça a l'air de fonctionner, par contre l'url en variable ne fonctionne pas parceque certainement, je ne la passe pas comme il faut.
j'ai créé une chaine
Machaine >>> [ 'url(../IMAGES/FOND/%1)' ]
que j'implémente grace à une ChaineConstruit(MaChaine, MonImage)
et je passe le tout ce qui donne :
function LoadFond(sCellule,sUrl) { document.getElementById(sCellule).style.backgroundImage=sUrl; alert(sUrl); }
alert() me renvoie bien l'url passée, mais pas d'image affichée. Je suppose que ma manièrre de passer l'url n'est pas la bonne...
Si vous avez une piste...
Merci d'avance pour votre temps.
De cette façon ça fonctionne dans une page HTML hors webdev
function LoadFond(sCellule,sUrl) {
var obj = document.getElementById(sCellule); obj.style.backgroundImage=sUrl; }
C'est du code Navigateur, donc il faut bien s'assurer que la variable est dispo (et raffarichie). Donc on passe par une variable écran cachée (pour sUrl)
un conseil : utiliser des noms de variables JS en majuscules et décocher ds Webdev le fait qu'il renomme les variables.
Si l'info est obtenue depuis un code serveur, bien s'assurer que les valeurs sont bien renvoyées au serveur (submit) ou passer par de l'ajax.
voilà qq pistes ...
Merci Eric pour tes lumières
Je passe bien mon url maintenant, (je la construis directement dans ma fonction js, MAIS, J'ai une autre lacune... L'url que je construis, doit renvoyer une valeur, or, dans la code source de ma page, j'ai l'url écrite en dur et pas la valeur renvoyée par un ChaineAffiche()...
Le but de tout ceci est de pouvoir redimensionner à la volée des images pour les afficher comme image de fond de cellules, donc j'ai créé une page inspirée de la page flash.awp dans l'exemple catalogue internet qui fonctionne très bien lorsque je saisis l'url, mais n'est pas appelée par ma fonction puisque je retrouve l'url et non la valeur renvoyée dans le code de ma page :(
Voici ma fonction :
function ChargeImages(nL,nH,nC)
{ var Img = "FOND_"; var Cell = "A"; var Url = 'flash.awp?fichier='; var Largeur = '&largeur='+nL; var Hauteur = '&hauteur='+nH; var Couleur = '&couleur='+nC; var sChemin for (i=1; i<10; i++) { sChemin = Url+i+Largeur+Hauteur+Couleur; LoadFond(Cell+(i+1),sChemin); } }