Javascript: machin est indefini

WRInaute passionné
Salut,
sous Ie j'ai une erreur javascript, et j'ai essayé plein de trucs mais je n'arrive pas a avoir la soluce (pourtant j'ai bien cherché, mais je n'ai pas la notion qu'il faut)

Code:
function champs(frm)
{

a6.style.display = 'none';

var toto1=frm['id[1]'].value;
var toto1=frm['id[1]'].value;

if (toto1 == 6)
{
a6.style.display = 'block';
return false;
}
			
return true;
}

ie7 me dit donc qu'a la ligne où se trouve a6.style.display = 'none'; ,
que a6 est indéfini (a6 est un div dans mon html)

(mon script fonctionne bien par contre malgres cette erreur)

Qu'elle serait la ligne a mettre avant pour l'initialiser correctement ?
merci
 
WRInaute accro
Tu ne peut appeller un div comme une variable.
Si a6 est la valeur de l'attribut id de ton div alors, tu dois mettre :

Code:
document.getElemebtById(a6).style.display = 'block';
 
WRInaute accro
kazhar a dit:
Tu ne peut appeller un div comme une variable.
Si a6 est la valeur de l'attribut id de ton div alors, tu dois mettre :

Code:
document.getElemebtById(a6).style.display = 'block';

Je dirais même plus :

Code:
document.getElemebtById("a6").style.display = 'block';
 
WRInaute passionné
resalut,

donc la j'ai testé en mettant:
function champs(frm)
{

document.getElementById("a6").style.display = 'none';

var toto1=frm['id[1]'].value;
var toto1=frm['id[1]'].value;

if (toto1 == 6)
{
document.getElementById("a6").style.display = 'block';
return false;
}

return true;
}
</script>
et maintenant ca me dit qu'a ma ligne
document.getElementById("a6").style.display = 'none';
erreur: objet requis

vous sauriez ce qui cloche encore ?
 
WRInaute passionné
ben j'ai donc ma div:
Code:
<div id="a6" style="z-index:0;position:relative;display:block; ">blabla</div>

j'ai un select comme ca:
Code:
<select name="id[1]" onchange="stkmsg(this.form);">
et j'ai en dessous de mon </select>:

Code:
<SCRIPT LANGUAGE="JavaScript"><!--
  function chkstk(frm) {
    var stk={};
    var instk=false;
    if (stk[frm['id[1]'].value]) instk=true;
  return instk;
  }
  function stkmsg(frm) {
    var instk=chkstk(frm);
   champs(frm);
    var span=document.getElementById("oosmsg");
    while (span.childNodes[0])
      span.removeChild(span.childNodes[0]);
    if (!instk)
      span.appendChild(document.createTextNode("Ce modèle est disponible chez le fournisseur. Nous nous engageons à vous le livrer dans les meilleurs délais."));
    else
      span.appendChild(document.createTextNode(" "));
  }
  stkmsg(document.cart_quantity);
//--></SCRIPT>

où je lance mon champs(frm);

et au final tout marche bien sous FF et IE, sauf sous IE où ca me met une erreur malgres le bon fonctionnement
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut