Я могу передать переменные сообщения и перезагрузить страницу при нажатии на гиперссылку?
Чтобы быть ясным, у меня есть что-то вроде этого. <a href="test.php?name=test">Click</a>
Если JavaScript включен,
Я думаю, что могу использовать "event.preventDefault ()" для подавления передачи, как СТАНОВЯТСЯ переменными.
Таким образом, теперь onclick, имя должно быть передано как переменная сообщения вместо, добираются.
Если JavaScript отключен, То вышеупомянутое должно работать.
Вы можете сделать это, создав новый элемент form
, указав его на href
и вызвав для него .submit ()
.
<a class="postlink" href="test.php?name=test">Click</a>
<script type="text/javascript">
$('.postlink').click(function() {
var form= document.createElement('form');
form.method= 'post';
form.action= this.protocol+'//'+this.hostname+this.pathname;
$.each(this.search.slice(1).split(/[&;]/g), function() {
var ix= this.indexOf('=');
if (ix===-1) return;
var input= document.createElement('input');
input.type= 'hidden';
input.name= decodeURIComponent(this.slice(0, ix));
input.value= decodeURIComponent(this.slice(ix+1));
form.appendChild(input);
});
document.body.appendChild(form);
form.submit();
return false;
});
</script>
Или вы можете просто выполнить запрос AJAX и после этого reload ()
страницу, если хотите.
Однако я не уверен, зачем вам это нужно. Какая польза от ссылки, которая обычно публикуется, кроме случаев, когда это не так? (Не только когда JS отключен / недоступен или когда это поисковая система, но и когда пользователь щелкает средней кнопкой мыши по ссылке или пытается щелкнуть правой кнопкой мыши, добавить закладку или что-то еще.)
Если все, что вам нужно, это что-то, что ведет себя как кнопка для отправки формы POST, лучше использовать настоящую форму и кнопку отправки, а затем использовать CSS, чтобы изменить ее стиль, чтобы он выглядел как ссылка, если вы хотите, чтобы она выглядела так.
У меня на странице около 10 ссылок. Когда пользователь нажимает на эти ссылки, должна выполняться ajax-reload.
Для ясности у меня есть что-то вроде этого.
<a href="test.php?name=one">one</a>
<a href="test.php?name=Two">Two</a>
Если включен javascript,
Onclick должна выполняться загрузка ajax.
Если javascript отключен, то все должно работать.
Обычно я использую имя
, чтобы ограничить некоторые значения моей страницы поиска.
Очень хороший совет ....
Сначала я пытался отправить данные формы с помощью вызова Ajax Post и затем перезагружал страницу, но это не работало должным образом:
var biq_select_val = jQuery('#biq_search_select').val();
jQuery.post(window.location.href,
{ biq_amazon_item_list_search: biq_select_val},
function() {window.location.reload();}
);
Теперь я использую только:
jQuery('#biq_amazon_item_list_search_form').submit();
, и он работает нормально.