Variable = undefined ???
Homer
- javascript
Im Script wird unter bestimmten Bedingungen ein Formular versendet an $PHP_SELF. Gleichzeitig wird der Variablen Status der Wert 'ok' zugeteilt. Wenn ich nun die Funktion PressNext() aufrufe, ist Status undefined, warum???
Die wichtigen Bereiche sind mit Kommentaren versehen!
var Status
function SendCosts()
{
var PayMeth;
var land = document.order.country[document.order.country.selectedIndex].value;
var bulk = document.order.elements[0].value;
var retail = document.order.elements[1].value;
var meth1 = document.order.method[0].checked;
var meth2 = document.order.method[1].checked
if(meth1==true){
PayMeth = "Nachzahlung";
}
if(meth2==true){
PayMeth = "Vorrauskasse";
}
if(land=='nix'||bulk==''&&retail==''||land!='Germany'&&PayMeth=='Nachzahlung'||meth1==false&&meth2==false)
{
if(land=='nix'){
alert("First choose country,\nthan press payment method!");
}
if (bulk==''&&retail==''){
alert ("You didn´t insert quantity!");
}
if(land!='nix'&&land!='Germany'&&PayMeth=='Nachzahlung'){
alert ("Your country is: "+land+"!\nThe method of payment must be 2. Pre-payment!");
}
if(meth1==false&&meth2==false){
alert ("Please choose method of payment!");
}
/********************************************************************Hier wird der Variable ein Wert zugeteilt
*******************************************************************/
}
else
{
document.order.submit();
Status ='ok';
}
}
function PressNext()
{
/********************************************************************
Problem: Status ist undefined
*******************************************************************/
alert(Status);
if(Status!='ok'){
alert("Something is wrong, please read the error messages!");
}
else
{
akzept();
}
}
hi.
var Status
^
vielleicht weil dahinter kein strichpunkt steht?
lg aw
Das ist es leider nicht:(
Das Problem leigt wohl darin, dass das Formular "aktiviert" wird.
Dann werden alle Innhalte der Felder gelöscht und wohl auch die Variablen.
Hallo,
var Status
^
vielleicht weil dahinter kein strichpunkt steht?
Nein, weil hier kein Wert zugewiesen wird.
Status hat also erstmal den Wert undefined.
Nur wenn dann 'ok' zugewiesen wird, ändert sich das.
Wenn man diese Zeile also in
var Status=""
oder ähnliches ändert, hat Status immer einen definierten Wert.
Andreas
Nein das ist es leider auch nicht, ich hatte es bisher ja auch so getestet, dass Status = ok ist!
Nein das ist es leider auch nicht, ich hatte es bisher ja auch so getestet, dass Status = ok ist!
Der Variablenname "Status" überlappt sich mit der Statuszeile window.status oder kürzer status. Obwohl Javascript case-sensitiv ist, könnte das zu Problemen führen. Ich würde zuerst mal den Variablennamen abändern.
- Sven Rautenberg
Der Variablenname "Status" überlappt sich mit der Statuszeile window.status oder kürzer status. Obwohl Javascript case-sensitiv ist, könnte das zu Problemen führen. Ich würde zuerst mal den Variablennamen abändern.
Ich dachte das wärs, aber das funktioniert nicht.
Hi Homer,
document.order.submit();
Status ='ok';
ich würd sagen es liegt daran, das du das Document abschickst, und dadurch alle Variablen
durch das erneute Laden wieder in den Anfangszustand (var Status)
zurückversetzt werden.
Gruss
Axel :)
Moin!
document.order.submit();
Status ='ok';
ich würd sagen es liegt daran, das du das Document abschickst, und dadurch alle Variablen
durch das erneute Laden wieder in den Anfangszustand (var Status)
zurückversetzt werden.
Exakt, das würde ich (jetzt ;) ) auch sagen. :) Das Abschicken des Formulars unterbricht das Skript an dieser Stelle.
- Sven Rautenberg