Forenindex » Programmierung/Entwicklung » JavaScript » Var an Fenster übergeben

Var an Fenster übergeben

syphax
Beiträge gesamt: 10

1. Jan 2003, 23:14
Bewertung:

gelesen: 1143

Beitrag als Lesezeichen
Hallo

Ich habe folgende Funktion, um die Variable 'Produkt' an das Fensterchen 'info.php' zu übergeben:

function Oeffnen(produkt)
{
F1 = open("info.php?produkt="+produkt, "Informationen", "width=400,height=300,screenX=0,screenY=0,resizable=yes");
F1.focus();
}

Den Link dazu habe poste ich auch noch, wobei der stimmen sollte:

<a href="javascript:Oeffnen(<?php echo $produkt; ?>)">info</a>

Die funktioniert aber leider nicht - Und dann würde ich gerne noch weitere Variablen an dasselbe Fenster übergeben. Kann mir jemand helfen?

Schöne Grüsse

Var an Fenster übergeben

Anonym
Beiträge gesamt: 22827

2. Jan 2003, 01:14
Bewertung:

gelesen: 1143

Beitrag als Lesezeichen
Hi - Ich habe die einfachen Kommatas zwischen <?php echo $produkt; ?> vergessen... Sorry!

Gute Nacht
syphax

Var an Fenster übergeben

exquisitus
Beiträge gesamt: 247

13. Jan 2003, 15:35
Bewertung:

gelesen: 1143

Beitrag als Lesezeichen
hellau

hier ein lösungsvorschlag:
das ArgumentsObject ist ein wiederverwertbares script dass du zb in einem externen js file oder auch direkt im head einer seite einbinden kannst.

kurz zusammengefasst funktioniert das ganze so dass die variablen namen und werte die du in der url (document.location) übergibst extrahiert und als felder eines objektes gespeichert werden. auf die felder kann dann mittels punkt- oder literal-notation zugegriffen werden.
siehe beispiel für mehr infos.

hth
gruss
Steven




// CODE ----------------------------------------

function ArgumentsObject(str) {
// by Steven Armstrong, 2003 Zürich.
// split the string to an array using ',' as the delimiter.
// the created array holds a name/value pair in each slot.
var pairs = str.split(",");

for (var i=0; i<pairs.length; i++) {

// get the position of the '=' character.
var pos = pairs.indexOf("=");
if (pos == -1) continue; //no delimiter found

// get the variable name
var argname = pairs.substring(0,pos);

// get the variable value
var argvalue = pairs.substring(pos+1);

// store the variable in the object using the given name and value
this[argname] = unescape(argvalue);
}

return this;

}//End: ArgumentsObject

// get the part of the url behind the '?'
//var query = location.search.substring(1);

// create our your ArgumentsObject using the query
//var argObj = new ArgumentsObject(query);

//End: CODE ----------------------------------------




// BEISPIEL ----------------------------------------
/*

wenn die url so aussehen würde:
myPage.html?article=toiletpaper,ammount=3,price=1.05

var query = location.search.substring(1);

würde query wie folgt aussehen:
artikel=toilettenpapier,anzahl=3,preis=1.05


und wenn man jetzt ein ArgumentsObject damit erzeugt:

var argObj = new ArgumentsObject(query);


kann man die übergebenen Variablen so benutzen:

alert(argObj.artikel); // schreit 'toilettenpapier'
alert(argObj.anzahl); // schreit '3'
alert(argObj.preis); // schreit '1.05'
alert(argObj.gugus); // schreit 'undefined'

*/
//End: BEISPIEL ----------------------------------------

Var an Fenster übergeben

exquisitus
Beiträge gesamt: 247

13. Jan 2003, 15:43
Bewertung:

gelesen: 1143

Beitrag als Lesezeichen
KORREKTUR
hab da wohl ein sprachendurcheinander gemacht. hier nochmal korrekt:

// BEISPIEL ----------------------------------------
/*

wenn die url so aussehen würde:
myPage.html?artikel=toilettenpapier,anzahl=3,preis=1.05

var query = location.search.substring(1);

würde query wie folgt aussehen:
artikel=toilettenpapier,anzahl=3,preis=1.05


und wenn man jetzt ein ArgumentsObject damit erzeugt:

var argObj = new ArgumentsObject(query);


kann man die übergebenen Variablen so benutzen:

alert(argObj.artikel); // schreit 'toilettenpapier'
alert(argObj.anzahl); // schreit '3'
alert(argObj.preis); // schreit '1.05'
alert(argObj.gugus); // schreit 'undefined'

*/
//End: BEISPIEL ----------------------------------------