0

我以前在不同的网站上经常这样做,但现在无法正常工作。我有一个简单的表单,可以使用提交按钮完美地发布,但出于特定原因,我实际上需要它通过 url 链接提交。我正在使用submit(). 表单提交,但数据未发布。
我错过了什么?

<html>
<body>
<?
if(isset($_POST['bar'])) { echo 'testing button<br>'; }
if(isset($_POST['information'])) { 
    echo $_POST['information'];
    echo '</br>Info successfully posted.'; 
    }
?>

    <form action="test.php" method="post" id="fooform"> 
        Hello World.<br>
        Select checkbox: <input type="checkbox" id="information" name="information" value="yes">
        <input type="submit" name="bar" value="Send"><br>
        <a href="test.php" onclick="SubmitForm('fooform');">Confirm and Post</a><br>
        <a href="test.php" onclick="this.form.submit();">Post Directly </a>
    </form>

    <script type="text/javascript">
        function SubmitForm(formId) {
            var oForm = document.getElementById(formId);
            alert("Submitting");
            if (oForm) { oForm.submit(); }
            else { alert("DEBUG - could not find element " + formId); }
            }
    </script>
</body>
</html>
4

3 回答 3

3

表单开始提交,然后href点击链接,取消表单提交。

如果您使用的是旧式onclick属性,则return false;在末尾阻止默认操作。

但是,您最好使用提交按钮(您正在提交表单)。您可以使用 CSS 来更改其外观。

于 2013-09-30T10:08:40.617 回答
0

试试这个代码:

<html>
    <body>
        <?php
        if (isset($_POST['bar'])) {
            echo 'testing button<br>';
        }
        if (isset($_POST['information'])) {
            echo $_POST['information'];
            echo '</br>Info successfully posted.';
        }
        ?>

        <form action="test.php" method="post" id="fooform"> 
            Hello World.<br>
            Select checkbox: <input type="checkbox" id="information" name="information" value="yes">

            <input type="submit" name="bar" value="Send"><br>
            <a href="#" onclick="SubmitForm('fooform');">Confirm and Post</a><br>
            <a href="#" onclick="document.getElementById('fooform').submit();">Post Directly </a>
        </form>

        <script type="text/javascript">
                function SubmitForm(formId) {
                    var oForm = document.getElementById(formId);
                    alert("Submitting");
                    if (oForm) {
                        oForm.submit();
                    }
                    else {
                        alert("DEBUG - could not find element " + formId);
                    }
                }
        </script>
    </body>
</html>
于 2013-09-30T10:09:14.560 回答
-1

尝试在 jquery 中提交带有表单 ID 的表单

<a class="submit">Post Directly </a>

$('a.submit').click(function(){

   $('#fooform').submit();
}) 
于 2013-09-30T10:01:20.507 回答