У меня есть следующий код:
<form enctype="multipart/form-data" id="search_form" name="search_form" action="thisfile.php#anchorname" method="get">
<!-- Lots of search fields here -->
<input name="search" type="submit" value="Search" />
</form>
<?php if (isset($_GET['search'])) {
// Search in database
?>
<div id="anchorname">
<!-- Table with results here -->
</div>
<?php
}
Это прекрасно работает в IE (без ума, я знаю), но в Chrome и Firefox, после отправки формы и отображения таблицы результатов, кнопка не повторно отправляет форму, а только заставляет страницу прокручиваться до якорного имени. В Chrome я могу перезагрузить страницу, нажав на адресную строку и нажав Enter, но когда я делаю это в Firefox, ничего не происходит вообще. Что я делаю неправильно?
На случай, если это кому-нибудь пригодится, вот что я сделал, используя JQuery:
$(function() {
// ...
<?php if (isset($_GET['search'])) { ?>
var target = $("#anchorname");
$('html,body').animate({
scrollTop: target.offset().top
}, 500);
<?php } ?>
});
Других решений пока нет …