Debutant : Deux "is null or not an object" inexplicable

Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010 - 31 mai 2009 à 17:26
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010 - 31 mai 2009 à 17:33
Bonjour

Je suis débutant en javascript et il ya une erreur "xx is null or not an object" qui me sort un peu partout !

Voila mon code : je veux crée une page Message.html qui prend trois paramètres : le message , un lien de redirection , et le nombre de secondes avant la redirection , donc voila ma page :


<html><head><link href="../Css/Style.css" rel="stylesheet" type="text/css" /></head></html>


et voila le Principal.js où il ya des fonctions de codage et decodage du message :

var Accueil = 'http://localhost/';

var STR_PAD_LEFT = 1;
var STR_PAD_RIGHT = 2;
var STR_PAD_BOTH = 3;

function pad(str, len, pad, dir) {

if (typeof(len) "undefined") { var len 0; }
if (typeof(pad) "undefined") { var pad ' '; }
if (typeof(dir) "undefined") { var dir STR_PAD_RIGHT; }

if (len + 1 >= str.length) {

switch (dir){

case STR_PAD_LEFT:
str = Array(len + 1 - str.length).join(pad) + str;
break;

case STR_PAD_BOTH:
var right Math.ceil((padlen len - str.length) / 2);
var left = padlen - right;
str = Array(left+1).join(pad) + str + Array(right+1).join(pad);
break;

default:
str = str + Array(len + 1 - str.length).join(pad);
break;

} // switch

}

return str;

}

function coder(txtoriginal) {
var txtcode="";
for (var i=0; i<txtoriginal.length; i++)="" {="" txtcode+="pad(txtoriginal.charCodeAt(i),3,'0',1);" }="" return="" txtcode;="" function="" decoder(txtcode)="" var="" txtoriginal="" ;="" for="" (var="" i="0;" i<txtcode.length;="" i+="3)" txtoriginal+="String.fromCharCode(txtcode.substr(i,3));" txtoriginal;="" prmurl()="" prm="new" array();="" tmp="unescape(window.location.search).substr(1).split("&");" inter;="" (="" i<tmp.length;="" inter="tmp[i].indexOf("=");" if="">=0 )
{
prm[tmp[i].substr(0,inter)]=tmp[i].substr(inter+1)
}
else {
prm[tmp[i]]="";
}
}
return prm;
}


Après execution, je recois object expteced pour "var $_GET= prmurl();" et " is null or not an object" pour document.contenu.message et un "undeclared" pour Accueil !!

Aidez moi svp !
Merci !</txtoriginal.length;>

2 réponses

Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
31 mai 2009 à 17:29
Désolé vraiment je sais pas ce qui lui arrive ! on a pas une compatibilité avec opera ?
bon je recommence


Bonjour Je suis débutant en javascript et il ya une erreur "xx is null or not an object" qui me sort un peu partout ! Voila mon code : je veux crée une page Message.html qui prend trois paramètres : le message , un lien de redirection , et le nombre de secondes avant la redirection , donc voila ma page :

<html>
<head>
<link href="../Css/Style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" scr="../JavaScript/Principal.js"></script>

</head>








<label class="LabelMessage" name="message">Message test %26%26</label>







hbhbh


<script language="JavaScript">
alert("ee");
if ( window.location.search != "" )
{
var $_GET= prmurl();
document.contenu.message.innerHTML = 'eeee';// decoder( $_GET["a"]);
if($_GET.length == 3 )
{
setTimeout("window.location='" + decoder( $_GET["b"]) + "'",parseInt(decoder( $_GET["c"])));
}

}
else {
window.location =Accueil;
}


</script>
</html>

et voila le Principal.js où il ya des fonctions de codage et decodage du message :


var STR_PAD_LEFT = 1;
var STR_PAD_RIGHT = 2;
var STR_PAD_BOTH = 3;

function pad(str, len, pad, dir) {

if (typeof(len) "undefined") { var len 0; }
if (typeof(pad) "undefined") { var pad ' '; }
if (typeof(dir) "undefined") { var dir STR_PAD_RIGHT; }

if (len + 1 >= str.length) {

switch (dir){

case STR_PAD_LEFT:
str = Array(len + 1 - str.length).join(pad) + str;
break;

case STR_PAD_BOTH:
var right Math.ceil((padlen len - str.length) / 2);
var left = padlen - right;
str = Array(left+1).join(pad) + str + Array(right+1).join(pad);
break;

default:
str = str + Array(len + 1 - str.length).join(pad);
break;

} // switch

}

return str;

}

function coder(txtoriginal) {
var txtcode="";
for (var i=0; i<txtoriginal.length; i++) {
txtcode+= pad(txtoriginal.charCodeAt(i),3,'0',1);
}
return txtcode;
}

function decoder(txtcode) {
var txtoriginal="";
for (var i=0; i<txtcode.length; i+=3) {
txtoriginal+=String.fromCharCode(txtcode.substr(i,3));
}
return txtoriginal;
}


function prmurl()
{
var prm = new Array();
var tmp = unescape(window.location.search).substr(1).split("&");
var inter;
for ( i=0; i<tmp.length; i++)
{
inter=tmp[i].indexOf("=");
if ( inter>=0 )
{
prm[tmp[i].substr(0,inter)]=tmp[i].substr(inter+1)
}
else {
prm[tmp[i]]="";
}
}
return prm;
}

Après execution, je recois object expteced pour "var $_GET= prmurl();" et " is null or not an object" pour document.contenu.message et un "undeclared" pour Accueil !!
Aidez moi svp !
Merci !
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
31 mai 2009 à 17:33
en effet dans Principal.js j'ai ajouté en haut var Accueil = 'http://localhost/'; comme une constante que j'utiliserai après dans ma page ! mais il me sort un undeclared object .
0
Rejoignez-nous