Variablenübergabe klappt nicht
Mac
- javascript
0 Maxx
Hallo,
ich finde einfach denn fehler nicht
<script language="JavaScript">
//<!--//
var agt = navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_ie = (agt.indexOf("msie") != -1);
var is_ie3 = (is_ie && (is_major < 4));
var is_ie4 = (is_ie && (is_major == 4) && (agt.indexOf("msie 5") == -1) && (agt.indexOf("msie 6") == -1));
var is_ie5up = (is_ie && !is_ie3 && !is_ie4);
var is_gecko = (agt.indexOf("gecko") != -1);
function hol (id)
{
if (is_ie4)
{
var element = eval(id);
}
if (is_ie5up || is_gecko)
{
var element = document.getElementById(id);
}
return element;
}
function go()
{
setTimeout("check_if();",10);
}
function check_if()
{
var endsumme_lm=0;
var endsumme_en=0;
var endsumme_hm=0;
var endsumme_le=0;
var endsumme_el=0;
var endsumme_eh=0;
var jl=hol('energy_max');
var en=parseInt(jl.value);
var jl=hol('lmetal_max');
var lm=parseInt(jl.value);
var jl=hol('hmetal_max');
var hm=parseInt(jl.value);
var jl=hol('energya_max');
var en=parseInt(jl.value);
var jl=hol('lmetala_max');
var lm=parseInt(jl.value);
var jl=hol('hmetala_max');
var hm=parseInt(jl.value);
var k=hol('too_low');
var too_low = k.value;
// 1 Zeile --> Alu ausgabe
var k=hol('h_l');
var test = k.value;
if(isNaN(test)){k.value="";test=0;}
if(test=="")test=0;
var r=hol('lhc');
t=parseInt(r.value);
var done=0;
if(t>=1)
{
endsumme_lm = endsumme_lm+parseInt(test)/t;
endsumme_lm =Math.floor(endsumme_lm);
if(k.value-1>=0&&done==0)if(endsumme_lm>lm){done=1;k.value=k.value-1;endsumme_lm=endsumme_lm-1;}
}
// 2 Zeile --> Energy ausgabe
var k=hol('h_e');
var test = k.value;
if(isNaN(test)){k.value="";test=0;}
if(test=="")test=0;
var r=hol('hec');
u=parseInt(r.value);
var done=0;
if(u>=1)
{
endsumme_e = endsumme_en+parseInt(test)/u;
endsumme_e = Math.floor(endsumme_e);
if(k.value-1>=0&&done==0)if(endsumme_en>en){done=1;k.value=k.value-1;endsumme_en=endsumme_en-1;}
}
// 3 Zeile --> Stahlausgabe
var k=hol('l_h');
var test = k.value;
if(isNaN(test)){k.value="";test=0;}
if(test=="")test=0;
var r=hol('hec');
v=parseInt(r.value);
var done=0;
if(v>=1)
{
endsumme_hm = endsumme_hm+parseInt(test)/v;
endsumme_hm = Math.floor(endsumme_hm);
if(k.value-1>=0&&done==0)if(endsumme_hm>hm){done=1;k.value=k.value-1;endsumme_hm=endsumme_hm-1;}
}
// 4 Zeile --> Energy ausgabe
var k=hol('l_e');
var test = k.value;
if(isNaN(test)){k.value="";test=0;}
if(test=="")test=0;
var r=hol('hec');
w=parseInt(r.value);
var done=0;
if(w>=1)
{
endsumme_le = endsumme_le+parseInt(test)/w;
endsumme_le = Math.floor(endsumme_le);
if(k.value-1>=0&&done==0)if(endsumme_le>ena){done=1;k.value=k.value-1;endsumme_le=endsumme_le-1;}
}
// 5 Zeile --> Alu ausgabe
var k=hol('e_l');
var test = k.value;
if(isNaN(test)){k.value="";test=0;}
if(test=="")test=0;
var r=hol('hec');
x=parseInt(r.value);
var done=0;
if(x>=1)
{
endsumme_el = endsumme_el+parseInt(test)/x;
endsumme_el = Math.floor(endsumme_el);
if(k.value-1>=0&&done==0)if(endsumme_el>lma){done=1;k.value=k.value-1;endsumme_el=endsumme_el-1;}
}
// 6 Zeile --> Stahl ausgabe
var k=hol('e_h');
var test = k.value;
if(isNaN(test)){k.value="";test=0;}
if(test=="")test=0;
var r=hol('hec');
y=parseInt(r.value);
var done=0;
if(t>=1)
{
endsumme_eh = endsumme_eh+parseInt(test)/y;
endsumme_eh = Math.floor(endsumme_eh);
if(k.value-1>=0&&done==0)if(endsumme_eh>hma){done=1;k.value=k.value-1;endsumme_eh=endsumme_eh-1;}
}
var j=hol('energy');
endsumme_e=en-en+endsumme_e;
if(endsumme_e<0){endsumme_e=too_low;}
j.innerHTML='<span id=energy>'+endsumme_e+'</span>';
var j=hol('lmetal');
endsumme_lm=lm-lm+endsumme_lm;
if(endsumme_lm<0){endsumme_lm=too_low;}
j.innerHTML='<span id=lmetal>'+endsumme_lm+'</span>';
var j=hol('hmetal');
endsumme_hm=hm-hm+endsumme_hm;
if(endsumme_hm<0){endsumme_hm=too_low;}
j.innerHTML='<span id=hmetal>'+endsumme_hm+'</span>';
var j=hol('energya');
endsumme_le=ena-ena+endsumme_le;
if(endsumme_le<0){endsumme_le=too_low;}
j.innerHTML='<span id=energy_pro>'+endsumme_le+'</span>';
var j=hol('lmetala');
endsumme_el=lma-lma+endsumme_el;
if(endsumme_el<0){endsumme_el=too_low;}
j.innerHTML='<span id=lmetal_pro>'+endsumme_el+'</span>';
var j=hol('hmetala');
endsumme_eh=hma-hma+endsumme_eh;
if(endsumme_eh<0){endsumme_eh=too_low;}
j.innerHTML='<span id=hmetal_pro>'+endsumme_eh+'</span>';
setTimeout("check_if();",50);
}
//-->
</script>
und in form folgendes:
<input type="hidden" name="energy_max" value="$energy" id="energy_max">
<input type="hidden" name="lmetal_max" value="$lmetal" id="lmetal_max">
<input type="hidden" name="hmetal_max" value="$hmetal" id="hmetal_max">
<input type="hidden" name="energya_max" value="$energya" id="energya_max">
<input type="hidden" name="lmetala_max" value="$lmetala" id="lmetala_max">
<input type="hidden" name="hmetala_max" value="$hmetala" id="hmetala_max">
<input type="hidden" name="lhc" value="$lhc" id="lhc">
<input type="hidden" name="lec" value="$lec" id="lec">
<input type="hidden" name="hec" value="$hec" id="hec">
<input type="hidden" name="lhc" value="$alhc" id="alhc">
<input type="hidden" name="lec" value="$alec" id="alec">
<input type="hidden" name="hec" value="$ahec" id="ahec">
<input type='hidden' name='$too_low' value='$too_low;' id='too_low'>
bei denn ersten drein klappt es (energy,lmetal,hmetal) wird richtig gerechnet - richtig dargestellt
wenn ich die andren drei dazupacke bekomme ich die fehlermeldung Error: null ist Null oder kein Objekt
nehme ich auch für die letzten drei (energy,lmetal.hmetal) schreibt er mir wenn ich in der 6 zeile schreibe die werte in die dritte zeile (mit denn werten aus der dritten zeile)
jemand eine idee wo mein fehler ist??
Danke im voraus.
gruss mac
Hallo Mac,
ich finde einfach denn fehler nicht
... jede Menge javascript ...
an welchen Stellen hast du mittels alert() die Inhalte deiner Variablen mit den erwarteten Werten verglichen. Wo gab es Abweichungen und warum?
wenn ich die andren drei dazupacke bekomme ich die fehlermeldung Error: null ist Null oder kein Objekt
Ich finde in dem Wust nichts null-ähnliches. Solltest du allerdings eine Variable "null" verwenden ist mir der Fehler klar.
http://de.selfhtml.org/javascript/sprache/reserviert.htm#uebersicht Dir jetzt auch?
Grüße,
Jochen