8

有什么方法可以提交我有这样的href链接的当前表单

<a href="javascript:;" onclick="this.submit();">Save</a>

我想在任何地方都使用相同的代码,所以我不能使用任何 id 或类

4

7 回答 7

14

使用提交表单this.form.submit()

即在你的情况下它会像

<a href="#" onclick="this.form.submit();">Save</a>

但强烈建议使用表单名称

否则,如果你习惯使用 jquery,你也可以使用 jquery最接近函数

$(field).closest("form").submit();
于 2012-08-30T04:41:40.637 回答
1
<a href="" onclick="!function(a){while(a&&a.nodeName!="FORM")a=a.parentNode;if(a)a.submit();}(this);"></a>
于 2012-08-30T05:00:36.087 回答
1

我将此解决方案用于未知表单名称:

function submitForm(originator)
{
    var pN=originator.parentNode;
    while (true)
    {
        if (pN&&pN.nodeName=='FORM')
        {
            pN.submit();
            break;
        }
        pN=pN.parentNode;
    }
}

现在在任何文档的对象事件上,我们都可以使用这个函数:

<div onclick="doSomething();submitForm(this)">test</div>
于 2017-08-04T06:32:25.753 回答
0

你想要的是:

<a href="javascript:;"onclick="document.forms.<formname>.submit();">Save</a>

<formname>实际上,当它被替换为表单的 id时,它似乎也有效。

尽管我强烈建议您研究称为Unobtrusive Javascript的做法

于 2012-08-30T04:19:04.180 回答
0

假设您n的页面上有许多表单。您可以使用以下方式提交i+1表单:

document.forms[i].submit();

因此,如果您只有一个,并且想通过链接点击提交,

document.forms[0].submit();

应该是你的onclick属性值

于 2012-08-30T04:24:46.680 回答
0

你可以试试这段代码

<a href="" onkeypress="submit(this.form)"/>
<script>
    function submit(form) {
        form.submit();
    }
</script>
于 2017-02-15T10:13:51.107 回答
0

我使用更棘手的方式。让你的按钮看起来像<a href>

<button type="submit" style="background-color: transparent!important;border: none;padding: 0!important;color: #3c8dbc;cursor: pointer;box-sizing: border-box;">MY LINK BUTTON</button>

于 2021-02-08T10:53:36.693 回答