Javascript:通过单击表单中的任何锚标记提交表单
Javascript: Submit form by clicking on any anchor tag within a form
我有一个表单和许多链接:
<form action="/a">
<input type=text name=somedata>
<input type=submit>
<a href="/b">my first link</a>
<a href="/c">link</a>
<a href="/d">link</a>
<a href="/e">link</a>
</form>
如果用户按下submit,表单应该像往常一样提交到/a(所以没有更改)。
但是当用户单击/b时,而不是丢弃一些数据并向/b发送get请求,我想向/b发送POST请求,就像表单是<form action=/b>
一样。
是否有可能对页面上的所有超文本锚自动执行此操作,以便它不仅可以与/b一起工作,还可以与/c,/d和/e一起工作?
纯Javascript和jQuery都可以
将表单的action
更改为所选<a>
的href
,然后提交表单
$('form a').click(function(event){
event.preventDefault();
$(this).closest('form').attr('action', this.href ).submit();
});
var form = document.querySelector("form");
var allA = document.querySelectorAll("a");
allA.forEach(function(el){
el.addEventListener("click",function(e){
form.action = this.href;
console.log("Form action is been change to => " + this.href)
form.submit();
e.preventDefault();
});
});
form.addEventListener("submit",function(e){
e.preventDefault();
console.log("The form has been submit");
});
<form action="/a">
<input type=text name=somedata>
<input type=submit>
<a href="/b">my first link</a>
<a href="/c">link</a>
<a href="/d">link</a>
<a href="/e">link</a>
</form>
var form = document.querySelector("form");
var allA = document.querySelectorAll("a");
allA.forEach(function(el){
el.addEventListener("click",function(e){
form.submit();
e.preventDefault();
});
});
form.addEventListener("submit",function(e){
e.preventDefault();
console.log("The form has been submit");
});
<form action="/a">
<input type=text name=somedata>
<input type=submit>
<a href="/b">my first link</a>
<a href="/c">link</a>
<a href="/d">link</a>
<a href="/e">link</a>
</form>
首先删除提交按钮。
$("#formId a").click(function(){
var currentHref = $(this).attr("href");
$("#formId").attr("action",currentHref);
$("#formId").submit();
});
相关文章:
- 当所有输入文本字段都为空时,禁止表单提交,但当jquery中的任何字段不为空时允许提交
- 使用Javascript/jQuery以编程方式将当前锚点/哈希/片段附加到任何表单操作url
- 表单未使用 MVC 提交任何值 Asp.Net
- 如何通过ajax php将图像上传到服务器本地目录,其中html表单haven't任何传统的提交按钮
- 创建按钮不调用表单内的任何操作
- 使用Html.BeginFrom在ASP.Net MVC中提交一个带有锚(<a>)标记且具有一定值的表单
- Javascript,表单中任何复选框的事件处理程序
- POST数据没有'不包含任何表单数据
- 当用户使用jquery点击任何位置时,切换并隐藏登录表单
- 在javascript中通过id获取元素,而页面上没有任何表单标记
- JS表单验证 - 提交按钮不执行任何操作
- 任何一个输入所需的文本区域或 HTML 表单中的复选框
- 需要制作保存任何更改的Web表单,即使不单击“发送”
- jQuery 表单验证不会引发任何错误
- 如何使用 html 表单中的一个文本字段来搜索数据库表中的任何列
- 尝试创建一个简单的表单,如果未填写任何内容,该表单将显示错误
- 使用链接自动填充联系人7表单以锚定在同一页面上
- Javascript:通过单击表单中的任何锚标记提交表单
- 当输入无效时,如何禁用表单提交锚
- 如何链接html表单和锚标记