2011-04-05 19 views
6

मेरे पास एक लिंक है जो क्लिक करते समय मैं विंडो की तरह खिड़की खोलता हूं। नीचे जैसा।विंडो। ओपन पोस्ट

window.open("edit.jsp?clientId=" + clientId + "&eventId=" + eventId , 'height=600,width=800,scrollbars=1,location:no,menubar:no,resizable=1,status:no,toolbar:no'); 

मैं पैरामीटर को यहां पास नहीं करना चाहता हूं बल्कि मैं पोस्ट की तरह कुछ करना चाहता हूं ताकि लोग यूआरएल कॉपी न करें।

+5

यह प्रश्न समान दिखते हैं: [window.open post] (http://stackoverflow.com/questions/3951768/window-open-and-pass-parameters-by-post-method-problem) – richaux

उत्तर

15

हैं आप एक जावास्क्रिप्ट पॉपअप ट्रिगर नहीं कर सकते हैं और फिर एक पोस्ट अनुरोध बाध्य करते हैं।

तीन विकल्प:

  1. उत्प्रेरक जावास्क्रिप्ट का उपयोग कर target="_blank" साथ यह POST में (लेकिन यह आप इस तरह के मेनू पट्टी के रूप में इंटरफ़ेस तत्वों को निष्क्रिय करने की अनुमति नहीं है)।
  2. स्थानीय रूप से एक पॉपअप खोलें, लेकिन एक यूआरएल निर्दिष्ट न करें। दस्तावेज़ बनाने के लिए दस्तावेज़ को बदलने के लिए window.open के परिणाम का उपयोग करें, जिसे आप पोस्ट करेंगे।

    var myWindow = window.open("", "", "height=600,width=800,scrollbars=1,location=no,menubar=no,resizable=1,status=no,toolbar=no"); 
    myWindow.document.write("Write a form here and then later on trigger it"); 
    
  3. आपको वास्तव में इनमें से कोई भी नहीं करना चाहिए। यदि उपयोगकर्ताओं के लिए यूआरएल की प्रतिलिपि बनाना बुरा है, तो आपके एप्लिकेशन डिज़ाइन में कोई दोष है।

  4. जोड़ा गया संपादित के बाद: 'खाली खिड़की' दृष्टिकोण का उपयोग करें, लेकिन एक रूप लेखन और यह ट्रिगर करने के बजाय, कर एक एक XMLHTTPRequest (पोस्ट) के साथ माता-पिता में। इस अनुरोध का परिणाम बाल-खिड़की को पॉप्युलेट करने के लिए उपयोग किया जा सकता है।

0

एक div का उपयोग कर मॉडल पॉपअप विंडो को कार्यान्वित करने के बारे में कैसे? आप उस div/मॉडल पॉपअप की सामग्री को लोड करने के लिए http पोस्ट कॉल कर सकते हैं। आप div की सामग्री को लोड करने के लिए jQuery लोड() विधि का भी उपयोग कर सकते हैं।

http://api.jquery.com/load/

कुछ अन्य मॉडल पॉपअप प्लगइन्स यहाँ

http://jquery.com/demo/thickbox/

http://colorpowered.com/colorbox/

http://fancybox.net/

6

AJAX (jquery.load()) है, जो मैं अपने आप को प्रयोग करेंगे के अलावा - कैसे निम्नलिखित दृष्टिकोण के बारे में: पोस्ट डेटा

<form method="post" action="edit.jsp" target="_blank"> 
     <input type="hidden" name="clientId" value="88"/> 
     <input type="hidden" name="eventId" value="2"/> 
</form> 

लक्ष्य = _blank वास्तव में खुलेगा एक नई विंडो/टैब में संसाधित किया जाएगा दुर्भाग्य से आप नई विंडोज़ उपस्थिति को शायद ही नियंत्रित कर सकते हैं।

संबंधित मुद्दे