Отправить форму, используя Javascript с добавленной переменной - PullRequest
0 голосов
/ 20 августа 2011

У меня есть 1 HTML-форма, которая отправляется в скрипт PHP через 2 разные ссылки, которые запускают код Javascript.Мне нужно иметь возможность отправлять форму по-разному с помощью двух ссылок Javascript, чтобы я мог проверить это различие на стороне PHP.Я понимаю, что могу сделать это с помощью кнопок отправки, но я пытаюсь избежать этого.Я надеялся, что что-то вроде этого будет работать:

foo.html

<form name="fooform" action="fooscript.php" method="POST">
    <input type="text" name="footext">
</form>

<a onclick='document.fooform.submit();' href='#'>Do something</a>
<a onclick='document.fooform.submit();' href='#'>Do something else</a>
<!--
<a onclick='document.fooform.submit(0);' href='#'>Do something</a>
<a onclick='document.fooform.submit(1);' href='#'>Do something else</a>
-->

fooscript.php

<?php
    if(submit(0)){
        //Do something
    }
    if(submit(1)){
        //Do something else
    }
?>

Ответы [ 2 ]

1 голос
/ 20 августа 2011

Я бы создал скрытое поле в форме.

<input type="hidden" id="submit_action" name="submit_action" value="" />

Извлеките детали отправки формы в теге сценария

function submitWithCommand(commandValue) {
    if (e = document.getElementById("submit_action")) e.value = commandValue;
    document.fooform.submit();
    return false;
}

, затем добавьте значение перед отправкойформа.

<a onclick='submitWithCommand("something");' href='#'>Do something</a>
<a onclick='submitWithCommand("something else");' href='#'>Do something else</a>
1 голос
/ 20 августа 2011
<form name="fooform" action="fooscript.php" method="POST">
    <input type="text" name="footext" />
    <input type="hidden" name="triggered_by" value="" />
</form>

<a onclick='document.triggered_by.value=1; document.fooform.submit();' href='#'>Do something</a>
<a onclick='document.triggered_by.value=2; document.fooform.submit();' href='#'>Do something else</a>

PHP:

var_dump($_POST['triggered_by']); // 1 or 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...