2009-07-30 10 views
13

तो मैं एक सबमिट बटन और एक पाठ इनपुट के साथ एक फार्म ...एक फॉर्म कार्रवाई के साथ यूआरएल के लिए हैश '#' प्रतीक जोड़ना? <a href="http://localhost/" rel="noreferrer">http://localhost/</a></p> <p>बनने के लिए:

मैं चाहता हूँ मिल गया है http://localhost/#q=

मैं जावास्क्रिप्ट में एक समाधान है जो शामिल किया हैश ऑनक्लिक के साथ यूआरएल में फॉर्म की "एक्शन" बदल रही है .. लेकिन यह आईई में काम नहीं करती है।

किसी के पास कोई समाधान है जो सभी ब्राउज़रों पर काम करता है?

उत्तर

7
<script> 
function add_hash() { 
    window.location.hash = "q="; 
}  
</script> 

<form onsubmit="add_hash(); return false;"> 

यह सुनिश्चित नहीं है कि आप इसके साथ क्या कर रहे हैं।

+0

संभवतः किसी प्रकार की खोज या लुकअप सिस्टम, Google की तरह कुछ ऐसा करता है। –

8

मैं आईई के साथ एक समान समस्या में भाग गया, जिसमें फॉर्म एक्शन से हैश में नहीं खींच रहा था।

मैं एक रूप

<form action="/#search" id="search-form"> 
    <input type="text" class="search-query" placeholder="Search" name="q"> 
</form> 

था मैं कुछ भी में यह फ़ॉर्म सबमिट कर जब लेकिन आईई पेज

/?q=searchparams#search

के लिए गया था लेकिन IE में यह

/?q=searchparams

के लिए चला गया

इसे हल करने के लिए मैं उपयोग करता हूं डी JQuery सबमिट करने के लिए बाध्य करने के लिए और उस पृष्ठ पर रीडायरेक्ट करने के लिए मैं इसे जाना चाहता था।

$("#search-form").submit(function() { 
    var query = $('input[name="q"]').val(); 
    window.location.href = 'index.php?q='+query+'#search'; 
    return false; 
}); 

यह ठीक से काम कर रहा है।

+3

मैं आईई में एक समान मुद्दे में भाग गया। हमने यूआरएल एन्कोडिंग '#' से '% 23' समाप्त कर दी। इसने हमें सामान्य रूप से फॉर्म जमा करने और हैश रखने की अनुमति दी। –

+0

@ केविनएम जो प्रभावी रूप से सही उत्तर है। इसका मतलब है कि पूरी चीज बिना किसी सशर्त कोड या स्क्रिप्ट निर्भरता के बोर्ड के इरादे से काम कर सकती है। आपको इसे अपने अधिकार में एक उत्तर के रूप में प्रस्तुत करना चाहिए! (या मैं करूँगा: पी) – Barney

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

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