我正在制作一个我正在与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属性?或者任何其他方法来实现相同的目标?
答案 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();
如果你还在努力,或许可以显示标记,直到实际形式。