J'utilise la fonction ci-dessous pour créer un lien vers une autres pages
d'un site. Cette procédure fonctionne très bien avec IE mais pas avec les
autres.
function choix_cat(valeur,mode){
document.getElementById('categories').value = valeur; //
sauvengarde de la valeur de catégorie
document.forms['formcat'].action="produits" + mode + ".php"; // j'ai
trois page produits0.php, produits1.php et produits2.php
document.forms['formcat'].submit();
// on envois le tout
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ASM
Bonjour,
J'utilise la fonction ci-dessous pour créer un lien vers une autres pages d'un site. Cette procédure fonctionne très bien avec IE mais pas avec les autres.
function choix_cat(valeur,mode){ document.getElementById('categories').value = valeur; //
Il ne faut pas racconter n'importe quoi aux Netscapes et FireFox
Prendre l'habitude d'appeler un chien : "un chien" et non "un chat"
Ici on s'adresse à un élément par son nom et non pas par son ID puisqu'il n'en a pas !
document.forms['formcat']['categories'].value = valeur; ou document.formcat.categories.value = valeur;
sauvengarde de la valeur de catégorie document.forms['formcat'].action="produits" + mode + ".php"; // j'ai trois page produits0.php, produits1.php et produits2.php document.forms['formcat'].submit(); // on envois le tout }
J'utilise la fonction ci-dessous pour créer un lien vers une autres pages
d'un site. Cette procédure fonctionne très bien avec IE mais pas avec les
autres.
function choix_cat(valeur,mode){
document.getElementById('categories').value = valeur; //
Il ne faut pas racconter n'importe quoi aux Netscapes et FireFox
Prendre l'habitude d'appeler un chien : "un chien" et non "un chat"
Ici on s'adresse à un élément par son nom et non pas par son ID
puisqu'il n'en a pas !
document.forms['formcat']['categories'].value = valeur;
ou
document.formcat.categories.value = valeur;
sauvengarde de la valeur de catégorie
document.forms['formcat'].action="produits" + mode + ".php"; // j'ai
trois page produits0.php, produits1.php et produits2.php
document.forms['formcat'].submit();
// on envois le tout
}
J'utilise la fonction ci-dessous pour créer un lien vers une autres pages d'un site. Cette procédure fonctionne très bien avec IE mais pas avec les autres.
function choix_cat(valeur,mode){ document.getElementById('categories').value = valeur; //
Il ne faut pas racconter n'importe quoi aux Netscapes et FireFox
Prendre l'habitude d'appeler un chien : "un chien" et non "un chat"
Ici on s'adresse à un élément par son nom et non pas par son ID puisqu'il n'en a pas !
document.forms['formcat']['categories'].value = valeur; ou document.formcat.categories.value = valeur;
sauvengarde de la valeur de catégorie document.forms['formcat'].action="produits" + mode + ".php"; // j'ai trois page produits0.php, produits1.php et produits2.php document.forms['formcat'].submit(); // on envois le tout }
J'utilise la fonction ci-dessous pour créer un lien vers une autres pages d'un site. Cette procédure fonctionne très bien avec IE mais pas avec les autres.
Sauf à ce qu'il y ait plusieurs 'categories' il n'y a aucune raison, au vu de ce que tu donnes, pour que ça ne fonctionne pas.
voir si ce multipart/form-data est nécessaire ? voir à temporiser le submit ?
J'aurais préféré que tu t'en tiennes à l'arbre des forms, mais bon !
function choix_cat(valeur,mode) { var f = document.forms['formcat'; f.categories.value = valeur; f.action = 'produits'+mode+'.php'; setTimeout(function(){f.submit();},50); }
function choix_cat(valeur,mode){ document.getElementById('categories').value = valeur; // sauvengarde de la valeur de catégorie document.forms['formcat'].action="produits" + mode + ".php"; // j'ai trois page produits0.php, produits1.php et produits2.php document.forms['formcat'].submit(); // on envois le tout }
J'utilise la fonction ci-dessous pour créer un lien vers une autres pages
d'un site. Cette procédure fonctionne très bien avec IE mais pas avec les
autres.
Sauf à ce qu'il y ait plusieurs 'categories' il n'y a aucune raison, au
vu de ce que tu donnes, pour que ça ne fonctionne pas.
voir si ce multipart/form-data est nécessaire ?
voir à temporiser le submit ?
J'aurais préféré que tu t'en tiennes à l'arbre des forms, mais bon !
function choix_cat(valeur,mode) {
var f = document.forms['formcat';
f.categories.value = valeur;
f.action = 'produits'+mode+'.php';
setTimeout(function(){f.submit();},50);
}
function choix_cat(valeur,mode){
document.getElementById('categories').value = valeur; //
sauvengarde de la valeur de catégorie
document.forms['formcat'].action="produits" + mode + ".php"; // j'ai
trois page produits0.php, produits1.php et produits2.php
document.forms['formcat'].submit();
// on envois le tout
}
J'utilise la fonction ci-dessous pour créer un lien vers une autres pages d'un site. Cette procédure fonctionne très bien avec IE mais pas avec les autres.
Sauf à ce qu'il y ait plusieurs 'categories' il n'y a aucune raison, au vu de ce que tu donnes, pour que ça ne fonctionne pas.
voir si ce multipart/form-data est nécessaire ? voir à temporiser le submit ?
J'aurais préféré que tu t'en tiennes à l'arbre des forms, mais bon !
function choix_cat(valeur,mode) { var f = document.forms['formcat'; f.categories.value = valeur; f.action = 'produits'+mode+'.php'; setTimeout(function(){f.submit();},50); }
function choix_cat(valeur,mode){ document.getElementById('categories').value = valeur; // sauvengarde de la valeur de catégorie document.forms['formcat'].action="produits" + mode + ".php"; // j'ai trois page produits0.php, produits1.php et produits2.php document.forms['formcat'].submit(); // on envois le tout }
function choix_cat(valeur,mode) { var f = document.forms['formcat'; f.categories.value = valeur; f.action = 'produits'+mode+'.php'; setTimeout(function(){f.submit();},50); }
Tiens pourquoi pas setTimeout(f.submit,50); ?
function choix_cat(valeur,mode) {
var f = document.forms['formcat';
f.categories.value = valeur;
f.action = 'produits'+mode+'.php';
setTimeout(function(){f.submit();},50);
}
function choix_cat(valeur,mode) { var f = document.forms['formcat'; f.categories.value = valeur; f.action = 'produits'+mode+'.php'; setTimeout(function(){f.submit();},50); }
Tiens pourquoi pas setTimeout(f.submit,50); ?
ASM
function choix_cat(valeur,mode) { var f = document.forms['formcat'; f.categories.value = valeur; f.action = 'produits'+mode+'.php'; setTimeout(function(){f.submit();},50); }
Tiens pourquoi pas setTimeout(f.submit,50); ?
n'est-ce point normalement orthographié : setTimeout('uneFonction()',timer) ?
setTimeout('f.submit()',50) ne fonctionnera pas car f n'est pas global.
setTimeout(function(){f.submit();},50); je suis quasi certain que c'est sémantiquement correct.
Quant à setTimeout(f.submit,50) pas personnellement essayé voir à voir si ça donnait une erreur ou pas
De tte façon, cette temporisation n'est là que pour tenter d'aider le navigateur hésitant, et j'ai vu ce genre de béquille fonctionner avec un timer à zéro :-(
-- Stephane Moriaux et son [moins] vieux Mac
function choix_cat(valeur,mode) {
var f = document.forms['formcat';
f.categories.value = valeur;
f.action = 'produits'+mode+'.php';
setTimeout(function(){f.submit();},50);
}
Tiens pourquoi pas setTimeout(f.submit,50); ?
n'est-ce point normalement orthographié :
setTimeout('uneFonction()',timer) ?
setTimeout('f.submit()',50)
ne fonctionnera pas car f n'est pas global.
setTimeout(function(){f.submit();},50);
je suis quasi certain que c'est sémantiquement correct.
Quant à setTimeout(f.submit,50)
pas personnellement essayé voir à voir si ça donnait une erreur ou pas
De tte façon, cette temporisation n'est là que pour tenter d'aider le
navigateur hésitant, et j'ai vu ce genre de béquille fonctionner avec un
timer à zéro :-(
function choix_cat(valeur,mode) { var f = document.forms['formcat'; f.categories.value = valeur; f.action = 'produits'+mode+'.php'; setTimeout(function(){f.submit();},50); }
Tiens pourquoi pas setTimeout(f.submit,50); ?
n'est-ce point normalement orthographié : setTimeout('uneFonction()',timer) ?
setTimeout('f.submit()',50) ne fonctionnera pas car f n'est pas global.
setTimeout(function(){f.submit();},50); je suis quasi certain que c'est sémantiquement correct.
Quant à setTimeout(f.submit,50) pas personnellement essayé voir à voir si ça donnait une erreur ou pas
De tte façon, cette temporisation n'est là que pour tenter d'aider le navigateur hésitant, et j'ai vu ce genre de béquille fonctionner avec un timer à zéro :-(
-- Stephane Moriaux et son [moins] vieux Mac
Laurent Vilday
function choix_cat(valeur,mode) { var f = document.forms['formcat'; f.categories.value = valeur; f.action = 'produits'+mode+'.php'; setTimeout(function(){f.submit();},50); }
Tiens pourquoi pas setTimeout(f.submit,50); ?
n'est-ce point normalement orthographié : setTimeout('uneFonction()',timer) ?
Si si, ou encore dans son contexte réel (ca va aider a comprendre la suite) : window.setTimeout('uneFonction()', timer); window.setTimeout(uneFonction, timer);
setTimeout('f.submit()',50) ne fonctionnera pas car f n'est pas global.
Oui car la référence exécutée dans le 1er paramètre du setTimeout est exécuté dans le contexte global comme tu le soulignes, ou plus précisement dans le contexte de l'objet "window"
donc avec setTimeout('f.submit()',50)
au bout des 50ms définies, l'interpréteur essaye de faire quelquechose équivalent à ça window.f.submit.call(this);
Et donc ça marche pas.
setTimeout(function(){f.submit();},50); je suis quasi certain que c'est sémantiquement correct.
Oui, c'est parfait. Avec ça, au bout du timer, l'interpréteur essayes window.anonymousFunction.call(this);
Et là ça passe, on arrive à acceder à f.submit(); puisque la fonction anonyme a embarqué avec elle son contexte d'exécution (outer closure) au moment de sa définition.
-- laurent
function choix_cat(valeur,mode) {
var f = document.forms['formcat';
f.categories.value = valeur;
f.action = 'produits'+mode+'.php';
setTimeout(function(){f.submit();},50);
}
Tiens pourquoi pas setTimeout(f.submit,50); ?
n'est-ce point normalement orthographié :
setTimeout('uneFonction()',timer) ?
Si si, ou encore dans son contexte réel (ca va aider a comprendre la
suite) :
window.setTimeout('uneFonction()', timer);
window.setTimeout(uneFonction, timer);
setTimeout('f.submit()',50)
ne fonctionnera pas car f n'est pas global.
Oui car la référence exécutée dans le 1er paramètre du setTimeout est
exécuté dans le contexte global comme tu le soulignes, ou plus
précisement dans le contexte de l'objet "window"
donc avec
setTimeout('f.submit()',50)
au bout des 50ms définies, l'interpréteur essaye de faire quelquechose
équivalent à ça
window.f.submit.call(this);
Et donc ça marche pas.
setTimeout(function(){f.submit();},50);
je suis quasi certain que c'est sémantiquement correct.
Oui, c'est parfait. Avec ça, au bout du timer, l'interpréteur essayes
window.anonymousFunction.call(this);
Et là ça passe, on arrive à acceder à f.submit(); puisque la fonction
anonyme a embarqué avec elle son contexte d'exécution (outer closure) au
moment de sa définition.
function choix_cat(valeur,mode) { var f = document.forms['formcat'; f.categories.value = valeur; f.action = 'produits'+mode+'.php'; setTimeout(function(){f.submit();},50); }
Tiens pourquoi pas setTimeout(f.submit,50); ?
n'est-ce point normalement orthographié : setTimeout('uneFonction()',timer) ?
Si si, ou encore dans son contexte réel (ca va aider a comprendre la suite) : window.setTimeout('uneFonction()', timer); window.setTimeout(uneFonction, timer);
setTimeout('f.submit()',50) ne fonctionnera pas car f n'est pas global.
Oui car la référence exécutée dans le 1er paramètre du setTimeout est exécuté dans le contexte global comme tu le soulignes, ou plus précisement dans le contexte de l'objet "window"
donc avec setTimeout('f.submit()',50)
au bout des 50ms définies, l'interpréteur essaye de faire quelquechose équivalent à ça window.f.submit.call(this);
Et donc ça marche pas.
setTimeout(function(){f.submit();},50); je suis quasi certain que c'est sémantiquement correct.
Oui, c'est parfait. Avec ça, au bout du timer, l'interpréteur essayes window.anonymousFunction.call(this);
Et là ça passe, on arrive à acceder à f.submit(); puisque la fonction anonyme a embarqué avec elle son contexte d'exécution (outer closure) au moment de sa définition.
-- laurent
Bertrand B
setTimeout('f.submit()',50) ne fonctionnera pas car f n'est pas global.
Oui car la référence exécutée dans le 1er paramètre du setTim eout est exécuté dans le contexte global comme tu le soulignes, ou plus précisement dans le contexte de l'objet "window"
Si je vous suis avec setTimeout(f.submit,50); la méthode submit sera bien appelée mais le this ne sera pas bon d'où l'intérêt de faire la closure.
Pff j'ai toujours un peu de mal avec les contextes d'exécution de javas cript
setTimeout('f.submit()',50)
ne fonctionnera pas car f n'est pas global.
Oui car la référence exécutée dans le 1er paramètre du setTim eout est
exécuté dans le contexte global comme tu le soulignes, ou plus
précisement dans le contexte de l'objet "window"
Si je vous suis avec setTimeout(f.submit,50); la méthode submit sera
bien appelée mais le this ne sera pas bon d'où l'intérêt de faire la
closure.
Pff j'ai toujours un peu de mal avec les contextes d'exécution de javas cript
setTimeout('f.submit()',50) ne fonctionnera pas car f n'est pas global.
Oui car la référence exécutée dans le 1er paramètre du setTim eout est exécuté dans le contexte global comme tu le soulignes, ou plus précisement dans le contexte de l'objet "window"
Si je vous suis avec setTimeout(f.submit,50); la méthode submit sera bien appelée mais le this ne sera pas bon d'où l'intérêt de faire la closure.
Pff j'ai toujours un peu de mal avec les contextes d'exécution de javas cript
YD
setTimeout(function(){f.submit();},50); Tiens pourquoi pas setTimeout(f.submit,50); ?
donc avec
setTimeout('f.submit()',50) [...]
setTimeout(function(){f.submit();},50); je suis quasi certain que c'est sémantiquement correct.
Oui, c'est parfait. Avec ça, au bout du timer, l'interpréteur essayes window.anonymousFunction.call(this);
Tu ne réponds pas à la question de départ !
setTimeout(f.submit, 50)
est théoriquement correct, une closure est créée et f renvoie bien l'objet voulu 50 ms après, donc une éternité après la fin du script. Mais... si ça passe dans IE, c'est rejeté par Fx qui renvoie une énigmatique "uncaught exception" que l'on n'a pas en utilisant setTimeout(function(){f.submit();},50).
Visiblement, le moteur Gecko ne veut pas assigner directement à une fonction anonyme, une méthode d'un objet HTML du navigateur.
-- Y.D.
setTimeout(function(){f.submit();},50);
Tiens pourquoi pas setTimeout(f.submit,50); ?
donc avec
setTimeout('f.submit()',50) [...]
setTimeout(function(){f.submit();},50);
je suis quasi certain que c'est sémantiquement correct.
Oui, c'est parfait. Avec ça, au bout du timer, l'interpréteur essayes
window.anonymousFunction.call(this);
Tu ne réponds pas à la question de départ !
setTimeout(f.submit, 50)
est théoriquement correct, une closure est créée et f renvoie bien l'objet
voulu 50 ms après, donc une éternité après la fin du script. Mais...
si ça passe dans IE, c'est rejeté par Fx qui renvoie une énigmatique "uncaught
exception" que l'on n'a pas en utilisant setTimeout(function(){f.submit();},50).
Visiblement, le moteur Gecko ne veut pas assigner directement à une fonction
anonyme, une méthode d'un objet HTML du navigateur.
setTimeout(function(){f.submit();},50); Tiens pourquoi pas setTimeout(f.submit,50); ?
donc avec
setTimeout('f.submit()',50) [...]
setTimeout(function(){f.submit();},50); je suis quasi certain que c'est sémantiquement correct.
Oui, c'est parfait. Avec ça, au bout du timer, l'interpréteur essayes window.anonymousFunction.call(this);
Tu ne réponds pas à la question de départ !
setTimeout(f.submit, 50)
est théoriquement correct, une closure est créée et f renvoie bien l'objet voulu 50 ms après, donc une éternité après la fin du script. Mais... si ça passe dans IE, c'est rejeté par Fx qui renvoie une énigmatique "uncaught exception" que l'on n'a pas en utilisant setTimeout(function(){f.submit();},50).
Visiblement, le moteur Gecko ne veut pas assigner directement à une fonction anonyme, une méthode d'un objet HTML du navigateur.