2009-07-30 10 views

Odpowiedz

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

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

Nie jestem jednak pewien, co z tym robisz.

+0

Najprawdopodobniej jakiś system wyszukiwania lub wyszukiwania, taki jak Google. –

8

Wpadłem na podobny problem z IE, nie ściągając hasza z akcji formularza.

miałem formę

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

Kiedy przedstawiła tę formę w czegokolwiek, ale IE strona poszedł

/?q=searchparams#search

Ale w IE poszło do

/?q=searchparams

Aby rozwiązać ten problem, używam d JQuery, aby powiązać z działaniem przesyłania i przekierować na stronę, do której chciałem przejść.

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

Od tego czasu działa dobrze.

+3

Wpadłem na podobny problem w IE. Zakończyliśmy kodowanie adresu URL z '# 'na'% 23'. To pozwoliło nam przesłać formularz normalnie i zachować hasz. –

+0

@KevinM, która jest skuteczną poprawną odpowiedzią. Oznacza to, że cała operacja może działać zgodnie z przeznaczeniem bez użycia kodu warunkowego lub zależności skryptowej. Powinieneś to zgłosić jako odpowiedź samą w sobie! (albo zrobię: P) – Barney

Powiązane problemy