从链接提交表单

don*_*tto 16 html javascript forms

这是我试图做的没有成功:

<form name="something" action="ht.php" method="post">
   <a href="#" onclick="document.url.submit('helloworld');">Submit</a>
</form>
Run Code Online (Sandbox Code Playgroud)

当我点击链接时我想将值发布helloworldht.php.我怎样才能做到这一点?

Fli*_*per 32

你不能只做document.url.submit(),它不能像那样工作.

试试这个:

<form id="myForm" action="ht.php" method="post">
    <input type="hidden" name="someName" value="helloworld" />
    <a href="#" onclick="document.getElementById('myForm').submit();">Submit</a>
</form>
Run Code Online (Sandbox Code Playgroud)

这应该工作!

  • @donvitto,如果您打算使用它来让用户提交一些数据,那么用户可以简单地复制您的HTML,使用不同的隐藏输入值创建自己的HTML文件.然后提交表单并提交不同的值.(或者使用Chrome,他们可以使用开发人员工具.)确保您正在检查提交的数据是否符合您的要求,而不是其他任何内容.特别是如果您正在使用数据进行SQL查询. (2认同)

Dan*_*ugg 7

使用jQuery,它很容易:

$('form .submit-link').on({
    click: function (event) {
        event.preventDefault();
        $(this).closest('form').submit();
    }
});
Run Code Online (Sandbox Code Playgroud)

然后你只需正常编码,将类分配给submit-link表单提交链接:

<form action="script.php" method="post">
    <input type="text" name="textField" />
    <input type="hidden" name="hiddenField" value="foo" />
    <a href="#" class="submit-link">Submit</a>
</form>
Run Code Online (Sandbox Code Playgroud)

我发现这种方法很有用,如果你想使用链接而不是传统按钮在整个网站上保持美学主题,因为没有内联脚本.

这是一个JSFiddle,虽然它不提交任何地方.