2009-09-18 8 views
5

एचटीएमएल चयन के माध्यम से अपना यूआरएल बदलने का सबसे अच्छा तरीका क्या है?एचटीएमएल के माध्यम से यूआरएल बदलना

<select> 
<option selected="selected">Change to URL X</option> 
<option>Change to URL Y</option> 
</select> 

क्या जावास्क्रिप्ट का उपयोग किया जाना चाहिए?

+0

[http://www.cs.tut.fi/~jkorpela/forms/navmenu.html](http://www.cs.tut.fi /~jkorpela/forms/navmenu.html) की एक अच्छी मार्गदर्शिका है (जिसमें कुछ अच्छे कारण शामिल हैं जिन्हें आपको ऐसा नहीं करना चाहिए)। – Quentin

उत्तर

-3

इस

<select onchange="jumpMenu('parent',this)> 
<option selected="selected">Change to URL X</option> 
<option value="http://www.example.com">Change to URL Y</option> 
</select> 
+3

-1। 'Eval()' का उपयोग न करें। यह यहां जरूरी नहीं है और यह वास्तव में खराब अभ्यास है। http://blogs.msdn.com/ericlippert/archive/2003/11/01/53329.aspx ... http://www.jslint.com/lint.html और अन्य –

6
<script type="text/javascript"> 
function navigateTo(sel, target, newWindow) { 
    var url = sel.options[sel.selectedIndex].value; 
    if (newWindow) { 
     window.open(url, target, '--- attributes here, see below ---'); 
    } else { 
     window[target].location.href = url; 
    } 
} 
</script> 

<select onchange="navigateTo(this, 'window', false);"> 
<option selected="selected" value="http://www.example.com/#X">Change to URL X</option> 
<option value="http://www.example.com/#Y">Change to URL Y</option> 
</select> 

की तरह लग हैडर

<script language="JavaScript" type="text/javascript"> 
function jumpMenu(targ,selObj,restore){ 
    eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); 
} 
</script> 

में ऐसे ही उदाहरण कुछ और अपने सलेक्ट बॉक्स के लिए जोड़ने तो target से कुछ उपयोगी मूल्यों 'window' (वर्तमान विंडो हो सकता है) या 'top' (फ़्रेमसेट या आईफ्रेम से बाहर निकलने के लिए)। आप के बजाय एक नई विंडो खोलने के लिए चाहते हैं, तो आप navigateTo(this, 'someWindow', true);

के मूल्य का उपयोग कर सकता है '--- जिम्मेदार बताते हैं ---' के रूप में दस्तावेज here for Mozilla और here for IE विभिन्न गुणों का उपयोग कर स्थापित किया जाएगा। उदाहरण के लिए:

'height=300,width=400,top=100,left=100,statusbar=0,toolbar=1' 
+0

उत्कृष्ट! ऊपर कोड सुचारू रूप से काम करता है। –

5

तुम कर सकते हो तुम jQuery है ...

जावास्क्रिप्ट:।

$ ('# select_url') परिवर्तन (समारोह (evnt) {location.href = $ (यह) .val();});

एचटीएमएल:

...