如何修改链接的href以便提交表单

时间:2017-05-31 09:56:04

标签: javascript jquery html node.js forms

我正在制作一个我正在与EJS合作的网页。每一行都有自己的形式和许多表单元素(全部禁用);带有图标的行结束作为链接。

我想要做的是,当点击该图标时,图标会变为“勾选”图标,并且该行上的所有表单元素都会启用。到目前为止一切都很好......

但是,在此转换之后,我希望链接(现在带有'tick'图标)能够在单击时提交表单。我做不到。

我在EJS模板中有图标:

<a href="#" onclick="adjustActionIcons('<%=i%>')" id="link<%=i%>"><span class="glyphicon glyphicon-pencil" id="editIcon<%=i%>"></span></a>

点击后调用的函数:

function adjustActionIcons(id) {
document.getElementById("dropDown" + id).removeAttribute("disabled");
document.getElementById("Text" + id).removeAttribute("disabled");
document.getElementById("editIcon" + id).className = "glyphicon glyphicon-ok";
// ?????
}

如何更改表单提交功能/触发器替换的href属性?或者任何其他方法来实现相同的目标?

1 个答案:

答案 0 :(得分:0)

据我所知,您可以在元素上扩展onclick函数 - 并在其旁边放置一个隐藏的提交按钮,然后修改代码:

<a href="#" onclick="adjustActionIcons('<%=i%>');$(this).next().trigger('click');" id="link<%=i%>"><span class="glyphicon glyphicon-pencil" id="editIcon<%=i%>"></span></a>
<button type="submit" style="display:none"></button>

这将分别提交锚标签所在的表格。

PS:作为替代方案,您还可以找到最近的表单元素并在其上调用提交触发器。如果您需要该信息,请告诉我。

编辑:

替换一行
$(this).closest('form').submit();

如果你还在努力,或许可以显示标记,直到实际形式。