2011-05-23 24 views
19

मैं एक onClick के साथ एक सबमिट बटन है:विंडो स्थान() काम नहीं कर रहा, नहीं खुल रही पेज

<div id="messageDiv"> 
<form> 
<textarea name="message" rows="10" cols="20"></textarea></textarea> 
<br /><br /> 
<input type="submit" value="Send" onClick="sendmail()"> 
<input type="reset" value="Reset" name='reset'> 
</form> 
</div> 

तो मैं अपने sendmail है:

function sendmail() 
    { 
     window.location.href = "http://www.rainbowcode.net/index.php/profiles/mail?="+mailid; 
     window.location('http://www.rainbowcode.net/index.php/profiles/mail?='+mailid); 
     //return true; 
    } 

mailid एक वैश्विक चर है कि हो जाता है है एक और जेएस फ़ंक्शन में सेट करें और इसमें सही मान होता है। कैसे window.location मेरा पृष्ठ नहीं खोल रहा है?

अगर मैं स्वयं एक mailid .. यह ठीक काम करता है के साथ इसे खोलने

+0

आप स्थान क्यों स्थापित कर रहे हैं। एक फ़ंक्शन के रूप में स्थान और कॉलिंग स्थान? – Nathan

+0

मुझे समझ में नहीं आता? –

+0

'window.location = 'http: //stackoverflow.com/';' work .. नहीं है? – Marty

उत्तर

49

स्थान सेट करना ठीक काम करता है, लेकिन फिर फॉर्म सबमिट किया गया है, जो इसके बजाय वर्तमान पृष्ठ को फिर से लोड करेगा।

वापसी विधि से गलत:

<input type="submit" value="Send" onclick="return sendmail()"> 
+1

धन्यवाद! वापसी के बीच अंतर और झूठी वापसी के बीच क्या अंतर है ?? –

+1

@ हेल्ज़िस स्मित: यदि आप झूठी वापसी करते हैं तो यह ईवेंट की डिफ़ॉल्ट कार्रवाई को रोक देगा, यानी बटन पर क्लिक करें। वापस लौटने (या कुछ भी नहीं) क्लिक की अनुमति देगा, जो फॉर्म सबमिट करेगा। – Guffa

+0

धन्यवाद ... ठीक है बस एक और बात कृपया: मेरे पास सबमिट के साथ एक टेक्स्टरेरा है जहां उपयोगकर्ता एक संदेश टाइप कर सकता है और सबमिट पर क्लिक कर सकता है जो मेरी विंडो को कॉल करेगा। Location.href ... मैं कैसे पास कर सकता हूं नई खिड़की पर संदेश पर? मेरा फॉर्म एक "पोस्ट" है और टेक्स्टरेरा की आईडी "संदेश" है? धन्यवाद –

3

आप एक नई विंडो खोलने की जरूरत है, तो आप window.open() विधि का उपयोग करना चाहिए। window.location वर्तमान विंडोज पता को संदर्भित करता है, और केवल तभी होगा - window.location.reload() का उपयोग करते समय - वर्तमान विंडो को पुनः लोड करें।

+0

धन्यवाद। Window.open काम करता है, यह एक नई विंडो खुलता है लेकिन मैं पीछे तीर पर क्लिक करने और पिछले पृष्ठ पर वापस जाने में सक्षम होना चाहता हूं कृपया –

0

ठोस जवाब पहले से ही लेकिन क्यों प्रणाली लड़ने:

function sendmail() { 
    window.location.href = "http://www.rainbowcode.net/index.php/profiles/mail?="+mailid; 
    return false; 
} 

और घटना में है कि स्थिति लौटाने प्रस्तुत रोकने के लिए? खासकर यदि आप jQuery या onClick के साथ बुलाया गया है - वहाँ नहीं हो सकता है एक इनलाइन वापसी मेरी बात है - तो बजाय आप सिर्फ submit पर कार्रवाई को बदल सकता है:

document.form.action = 'http://www.rainbowcode.net/index.php'

तो आप में से किसी को चुन सकते हैं फॉर्म वैरिएबल यदि आपको उनकी ज़रूरत है या नहीं तो अनदेखा करें।

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