51
4

11 回答 11

72

你可以用原始的 javascript 做到这一点

<html>
    <body>
        <form id="my_form" method="post" action="mailto://test@test.com">
            <a href="javascript:{}" onclick="document.getElementById('my_form').submit();">submit</a>
        </form>
    </body>
</html>

对于那些问我为什么我的href锚标签中有一个元素的人,因为它是锚标签的强制性部分,没有它可能很好,但它不是规范。所以如果你想保证渲染等,你必须给引擎一个完整的标签。所以上面实现了这一点。您有时会看到href="#"used,但这并不总是需要,因为浏览器会更改页面位置。

于 2012-04-06T06:34:53.160 回答
14

如果允许使用 jquery,那么您可以使用以下代码以最简单的方式实现它:

<a href="javascript:$('#form_id').submit();">Login</a>

或者

<a href="javascript:$('form').submit()">Login</a>

您可以在 head 标签 () 中使用以下行将 jquery 导入您的代码

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
于 2015-10-13T08:48:53.183 回答
6

像这样提交您的表格...

您的 HTML 代码

    <form name="myform" action="handle-data.php"> Search: <input type='text' name='query' />
     <a href="javascript: submitform()">Search</a> 
   </form> 

JavaScript 代码

  <script type="text/javascript"> 
        function submitform() {   document.myform.submit(); } 
   </script> 
于 2012-04-06T06:32:48.073 回答
4

这是我使用香草JS的方法

<form id="myform" method="POST" action="xxx">
    <!-- your stuff here -->
    <a href="javascript:void()" onclick="document.getElementById('myform').submit();>Ponies await!</a>
</form>

你可以使用return falses 和href="#"vs void 以及任何你需要的东西,但是这种方法在 Chrome 18、IE 9 和 Firefox 14 中对我有用,其余的主要取决于你的 javascript。

于 2012-08-15T14:54:06.093 回答
4

尝试这个:

假设 HTML 是这样的:

   <form id="myform" name="myform" method="POST" action="process_edit_questionnaire.php?project=<?php echo $project_id; ?>">
      <div id="question_block">
            testing form
        </div>
     <a href="javascript: submit();">Submit</a>
        </form>

JS:

   <script type='text/javascript'>
     function submit()
      {
         document.forms["myform"].submit();
      }
   </script>

你可以在这里查看:http: //jsfiddle.net/Zm426/7/

于 2012-04-06T06:40:08.327 回答
4
<form  id="myform_id" action="/myMethode"  role="form"  method="post" > 
   <a  href="javascript:$('#myform_id').submit();" >submit</a>
</form>
于 2019-02-16T13:42:34.970 回答
2

是否有任何理由不使用提交按钮,然后使用 css 对其进行样式设置以匹配您的其他a标签?

我认为这将减少您对启用 javascript 的依赖并仍然获得所需的结果。

于 2015-11-12T10:27:28.753 回答
2

干净简单:

  <form action="/myaction" method="post" target="_blank">
    <!-- other elements -->
    <a href="#" onclick="this.parentNode.submit();">Submit</a>
 </form>

action如果在新选项卡 ( )中打开表单URL target="_blank"

  <form action="/myaction" method="post" target="_blank">
    <!-- other elements -->
    <a href="#" onclick="this.parentNode.submit();">Submit</a>
 </form>
于 2020-09-29T09:06:10.027 回答
1

我建议使用“return false”而不是在 href-tag 中使用一些 javascript:

<form id="">
...
</form>

<a href="#" onclick="document.getElementById('myform').submit(); return false;">send form</a>
于 2014-11-14T10:26:15.490 回答
1

您可以使用隐藏的提交按钮并使用 java script/jquery 单击它,如下所示:

  <form id="contactForm" method="post" class="contact-form">

        <button type="submit" id="submitBtn" style="display:none;" data-validate="contact-form">Hidden Button</button>
        <a href="javascript:;" class="myClass" onclick="$('#submitBtn').click();">Submit</a>

  </form>
于 2016-03-08T09:53:12.423 回答
1

使用 Jquery,您可以执行以下操作:

$(document).ready(function() {
  $('#btnSubmit').click(function() {
    $('#deleteFrm').submit();
  });

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="" id="deleteFrm" method="POST">
  <a id="btnSubmit">Submit</a>
</form>

于 2019-01-24T06:42:48.913 回答