Различные формы действий в зависимости от нажатой кнопки - PullRequest
11 голосов
/ 02 мая 2010

У меня есть форма, и я хотел бы, чтобы поле ACTION было различным в зависимости от нажатой кнопки.

Например, форма может обрабатываться различными PHP-файлами, если я нажму кнопку A или кнопку B.

Как я могу это сделать?

Спасибо!

Ответы [ 3 ]

12 голосов
/ 15 сентября 2017

Если вы не хотите использовать Javascript, но используете HTML5, вы можете использовать атрибут formaction:

<!DOCTYPE html>
<html>
  <body>
    <form>
      <input type="submit" formaction="http://firsttarget.com" value="Submit to first" />
      <input type="submit" formaction="http://secondtarget.com" value="Submit to second" />
    </form>
  </body>
</html>
12 голосов
/ 02 мая 2010

С помощью кнопок вы можете просто установить действие формы, используя form свойство , например, для кнопки a:

this.form.action = "fileA.php";

С другой стороны:

this.form.action = "fileB.php";

Вы можете настроить это внешне, как это:

document.getElementById("buttonA").onclick = function() { 
  document.getElementById("myForm").action = "fileA.php";
};

Или, если вы используете библиотеку типа jQuery:

$(function() {
  $("#buttonA").click(function() {
    $(this).closest("form").attr('action', 'fileA.php');
  });
});
2 голосов
/ 27 октября 2012

Оставьте поле действия пустым:

<form action ="" method="post" name="form1">
<input type ="submit" onclick="calA();"/>
<input type = "submit" onclick="calB"/>
</form>

<script>
function calA()
{
 document.form1.action ="a.php";
}
function calB()
{
document.form1.action = "b.php";
}
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...