2016-09-03 5 views
1

Я развивался на своем локальном хосте и наткнулся на этот вопрос.Ссылка нажмите и нажмите кнопку в одном HTTP-запросе

Рассмотрим есть такой HTML-код:

<form action="" method="POST"> 
    <input type="submit" name="submitButton" id="submitButton"> 
</form> 

<a onclick="clickButton('submitButton');" href="guestbook/index.php?pageNumber=1"> 

<a> нажмите триггеры представить события нажатия кнопки. Функция Javascript выглядит так:

function clicktButton(id) { 
    if (id != "") 
    document.getElementById(id).click(); // this will trigger the click event 
} 

Мой вопрос: что-то подобное возможно? Чтобы отправить HTTP-запрос со ссылкой нажмите кнопку и нажмите одновременно?

Потому что, нажимая ссылку <a>, я уже отправил HTTP-запрос с параметром $_GET['pageNumber']. Но я также хочу отправить данные $_POST['submitButton'] одновременно.

Заранее благодарен!

ответ

1

То, что вы хотите, возможно, но не столько с кодом я вижу передо мной ..

<form action="guestbook/index.php?pageNumber=1" method="post"> 
    <input type="submit" name="submitButton" id="submitButton"> 
    <input type="button" name="submit"> 
</form> 

Это существенно выкладывает содержимое формы, с запросом привязываться.

<a> на самом деле не работает, потому что он генерирует новый HTTP-запрос и, предположительно, пропускает выполнение JavaScript текущей загруженной страницы.

С другой стороны, вы можете имитировать эффекты <a> с помощью JavaScript, сделав запрос на отправку с данными формы до guestbook/index.php?pageNumber=1. Но если вы сделаете это, я бы порекомендовал jQuery, так как это облегчит вам задачу, добавив это в событие click.

$.ajax({ 
    url: "guestbook/index.php?pageNumber=1", 
    data: {'field':'value'}, 
    async: false 
}); 
+0

благодарит за ответом! Я вижу ... Думаю, мне придется внести изменения в мой код, тогда ... Я думаю о том, чтобы поместить данные POST в дополнительный параметр GET, например, эту 'guestbook/index.php? PageNumber = 1 & activeFilter = data'. (данные $ _POST просто содержат имя столбца таблицы для фильтра, поэтому ничего не безопасно). – qazerty23

Смежные вопросы