表单提交按钮工作,但不在链接中提交()

时间:2013-09-30 09:42:29

标签: php html forms post

我之前经常在不同的网站上这样做,但现在无法让它工作。 我有一个简单的表单,使用提交按钮完美地发布,但由于特定原因,我实际上需要通过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>

3 个答案:

答案 0 :(得分:3)

表单开始提交,然后跟踪链接的href,这将取消表单提交。

如果您使用的是旧式onclick属性,那么最后会return false;来阻止默认操作。

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

答案 1 :(得分: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>

答案 2 :(得分:-1)

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

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

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

   $('#fooform').submit();
})