【问题标题】:How do you submit a form using <a>如何使用 <a> 提交表单
【发布时间】:2023-04-03 09:48:01
【问题描述】:

我尝试了诸如 submit(); 之类的建议,但它对我不起作用...有人可以帮忙。

 <section class="section_bkg" id="login">
    <form action="login.php" method="post" id="submit_login">
        <ul>
            <li>
                <label class="block" for="email">Email</label>
                <input type="email" name="email" id="email"/>
            </li>
            <li>
                <label class="block" for="password">Password</label>
                <input type="password" name="password" id="password"/>
            </li>
            <li><a href="#" onclick="document.form['submit_login'].submit();">Log in</a></li>
        </ul>
    </form>
</section>

【问题讨论】:

  • 现在的写法——它将使用 POST 将表单提交到 login.php。为什么你认为它不起作用?
  • 只需将其编辑为 方法只适用于 find.. 但我需要使用 ,因为按钮的 css 不适用于

标签: html forms href


【解决方案1】:

首先给表单一个 id 属性,以便你可以引用它:

<form action="login.php" method="post" id="myform">

现在您可以使用 onclick 事件进行 Javascript 提交:

<a href="#" onclick="document.forms['myform'].submit();">Click to submit the form</a>

【讨论】:

  • 对我不起作用......我正在使用 localhost.. 不确定这是否与它有关。我更新了上面的脚本。
  • @LapMingLee 我注意到你有一个错字——确保它是 document.forms(不是 form)。本地主机应该没关系。你在 login.php 有一个文件来处理这个帖子吗?
  • 是的,我有 login.php。如果我使用 一切正常
【解决方案2】:

以@dbaseman 的回答为基础。如果您使用jQuery 提交表单,这应该会有所帮助。

HTML

<a href="#" id="MySubmitButton" name="MySubmitButton">Click to save</a>

jQuery

// submit
$('#MySubmitButton').click(function () {
    $('form').submit();
    return false;
});

// OR - bypassing any unbotrusive validation
$('#MySubmitButton').click(function () {
    $('form')[0].submit();
    return false;
});

// using the enter key to submit the form
$('#password, #email').keypress(function (event) {
    var keycode = (event.keyCode ? event.keyCode : event.which);
    if (keycode == 13) {
        $('form').submit();

        event.stopPropagation();
    }
});

【讨论】:

    【解决方案3】:

    JavaScript 提供了包含 submit() 方法的表单对象。使用表单的“id”获取表单对象。例如,如果您的表单名称为“myform”,则提交调用的 JavaScript 代码为:

    document.forms["myform"].submit();
    

    但是,如何识别表单?在form标签中给出一个id属性

    <form id='myform' action='handle-data.php'>
    

    这是点击超链接时提交表单的代码:

    <form name="myform" method="post" action="handle-data.php">
    Search: <input type='text' name='query' />
    <a href="javascript: submitform()">Search</a>
    </form>
    <script type="text/javascript">
    function submitform()
    {
      document.myform.submit();
    }
    </script>
    

    【讨论】:

      【解决方案4】:

      这里回答

       <form action="login.php" method="post" id="myform" name="myform">
       </form>
       <a href="javascript:document.myform.submit();">Click to submit the form</a>
      

      【讨论】:

        【解决方案5】:
        <a href="#" onclick=
         "document.getElementById('submit_login').submit(); return false">Log in</a>
        

        但是使用提交按钮确实更有用且更易于访问,因此最好解决您在样式方面遇到的任何问题,而不是通过这种方式实现基本功能。

        【讨论】:

          猜你喜欢
          • 2012-04-19
          • 2011-12-31
          • 1970-01-01
          • 1970-01-01
          • 2013-06-09
          • 1970-01-01
          • 2016-03-21
          • 2012-04-08
          相关资源
          最近更新 更多