使用标签提交表单并进行提交工作

时间:2013-05-01 20:49:47

标签: javascript html

你好我想知道如何使用我知道

的标签提交表单
<a href="javascript:void()" onclick="document.getElementById('myform').submit();"></a>

但是当我在表单上尝试javascript验证时,例如

 <form method="post" onsubmit="valid() name="myform" action="index.php">

然后有效的功能不起作用,有没有办法使功能工作。 我只想要一个标签用作onsubmit。

我使用简单的警报功能来检查验证,但它没有用,但当我使用输入类型提交标签检查它时,它开始工作。

4 个答案:

答案 0 :(得分:2)

您的onclick()函数正在查找ID为myform的表单。在您的示例代码中,您的表单没有ID或名称。

此代码应该有效:

<a href="javascript:void()" onclick="document.getElementById('myform').submit();"></a>

只要在表单元素中包含ID:

<form method="post" onsubmit="valid()" name="myform" id="myform">

答案 1 :(得分:0)

从历史上看,通过submit() JavaScript方法提交表单不会调用submit事件处理程序(最有可能阻止无限递归)。

如果要调用onsubmit属性中包含的代码,则应在以编程方式提交表单之前明确调用它。例如:

var form = document.querySelector('form'),
    link = document.querySelector('a');

link.onclick = function() {
    alert('Handler attached with JS.');
    form.onsubmit.call(form);
    form.submit();
    return false;
};

答案 2 :(得分:0)

答案很简单 - submit()方法触发onsubmit事件。如果您想在提交上验证代码,那么您必须自己调用valid()函数。

示例:

<a href="javascript:void()" onclick="document.getElementById('myform').onsubmit();"></a>

会触发您的onsubmit(因此会调用valid()

或只是:

<a href="javascript:void()" onclick="valid()"></a>
然后可以在肯定验证之后或随时随地从该函数调用

submit()方法。

答案 3 :(得分:0)

我知道这个问题真的很老了。但如果有人真的需要解决方案 即如果需要浏览器验证必填字段的情况。

在表单内部创建

<input type="submit" name="submit" />

点击链接实际上应该触发点击该提交输入:

<a href="javascript:void()" onclick="document.getElementById('myform').submit.click();"></a>