2016-05-01 4 views
-1

ich einige Textfeld haben für Sendefenster Popup (I senden möchten product und product):Pass Wert Fenster Popup

<tr> 
    <form> 
    <td> ${product.getProductName()}</td> 
    <input type="hidden" name="productName" value=${product.getProductName()}> 
    <td>${product.getPrice()}</td> 
    <input type="hidden" name="productPrice" value=${product.getPrice()}> 
    <td> 
    <input type="button" onclick="makeOrder()" value="Make order"/> 
    </td> 
    </form> 
</tr> 

JS:

<script type="text/javascript"> 

function makeOrder(){ 
    window.open("/user/makeOrder","","height=250,width=400,status=no,location=no,toolbar=no,directories=no,menubar=no"); 
} 

Wie kann ich eine Variable ProductName und ProductPrice an das Popup-Fenster "/ user/makeOrder" übergeben?

+4

Mögliche Duplikat [Schnellste Weg, um Daten zu einem Popup-Fenster zu übergeben ich mit window.open() erstellt?] (Http://stackoverflow.com/questions/1830347/Schnellste Weg-zu-Pass-Daten-zu-einem-Popup-Fenster-i-erstellt-mit-Fenster-öffnen) – Chris

+0

Ich kann mein Problem nicht lösen. –

+0

Nastya, Ihre Frage ist sehr breit und wie es liest, wurde es in einer anderen doppelten Frage beantwortet. Die Antwort, die Sie hier haben, ist * sehr & anders als die Antwort auf die andere Frage. Da beide Probleme nur "Wert auf Popup-Fenster übertragen" wollten, sind beide Antworten gültig. Vielleicht könnten Sie Ihre Frage präzisieren? Vielleicht könnten Sie zum Beispiel den Titel auf "Wert an Popup-Fenster übergeben * ohne * Javascript" ändern oder vielleicht "Wert an Popup-Fenster übergeben * mit * jQuery". Denkst du, dass das möglich ist? –

Antwort

2

Sie können ProductName und ProductPrice als Query-String zu neuen location passieren, dann search, .split(), while Loopeigenschaften, um Werte zu einem Objekt verwenden.

function makeOrder(name, price){ 
    window.open("/user/makeOrder?ProductName=" + name + "&ProductPrice=" + price,"" 
,"height=250,width=400,status=no,location=no,toolbar=no,directories=no,menubar=no"); 
} 

Bei neu opended window

var params = location.search.split(/\?|=|&/).filter(Boolean); 
var obj = {}, i = 0; 
while (i < params.length) { 
    obj[params[i]] = params[++i]; 
    ++i; 
} 
console.log(obj) 
+0

Ich bekomme eine solche Adresse:/user/makeOrder? ProductName = undefined & productPrice = undefined –

+0

Haben Sie 'makeOrder' modifiziert, um Parameter zu akzeptieren und Parameter an die Funktion zu übergeben? – guest271314

+0

Ja, das ist meine übergeordnete Seite: ' ' –