如何使href充当提交表单

时间:2016-04-23 13:55:36

标签: javascript php html forms

所以我将a href设置为简单表单提交,但我想将其用作与表单上的提交相同的方法类型。

所以我设置它的方式是:

<!-- HTML -->
<a onclick="subForm('login');" style="cursor: pointer;"> login </a>

// JavaScript
function subForm(el) {
  var elem = document.getElementById(el);
  elem.submit();
}

现在,当我点击该链接时,它确实表现为我在表单上单击了提交,我可以为表单设置input type=hidden,以便我可以在PHP中看到它但是..

我需要此登录系统不为空,并且不希望使用旧方法if empty然后在处理后显示错误,所以我希望提交按钮能够执行当其中一个输入在其标记标记中设置为required时,单击表单上的提交相同。

2 个答案:

答案 0 :(得分:1)

您的代码应该可以正常运行

<a onclick="subForm('login');" style="cursor: pointor;"> login </a>

位于ID为“login”的表单中;

你可能想知道的一些事情是游标:pointor是错误的,它应该是cursor:pointer。但是,如果稍微更改代码,则无论如何都不需要内联样式。在我看来,这样的事情会有很大改善。我没有对它进行测试,但它应该可以工作:

<form id="login" action="/wherever/you/want/this/form/to/post/to" method="post">
    <a id="js-submit-form" href=""> login </a>
</form>

<script>
    var formToSubmit = document.getDocumentById('login'),
    button = document.getElementById('js-submit-form'),
    submitForm = function(e) {
        e.preventDefault(); // this will stop the browser trying to use the href value
        formToSubmit.submit();
    };

    button.addEventListener("click",submitForm);

</script>

我刚刚读完了你的其他问题,但我实际上并不明白你在问什么。为什么不使用'required'标签和一些服务器端验证?

答案 1 :(得分:1)