Javascript 在表单输入中按enter键并更改默认操作(提交表单)
我有一个简单的表格:Javascript 在表单输入中按enter键并更改默认操作(提交表单),javascript,jquery,forms,Javascript,Jquery,Forms,我有一个简单的表格: 两个输入字段facebook事件链接和name 导入详细信息facebook事件链接旁边的链接输入-当我单击此按钮时,它将其href属性从/events/new更改为/events/new?fb_event_id={fb_event_id从链接中提取},并使用此更新的href发出新请求 提交按钮以提交表单 当我填写facebook事件链接时,例如: 然后单击导入详细信息一切正常-更改链接至/events/new?fb_event_id=123,并发出新请求 现在,我尝
- 两个输入字段
和facebook事件链接
name
facebook事件链接旁边的链接输入-当我单击此按钮时,它将其导入详细信息
属性从href
更改为/events/new
,并使用此更新的/events/new?fb_event_id={fb_event_id从链接中提取}
发出新请求href
按钮以提交表单提交
/events/new?fb_event_id=123
,并发出新请求
现在,我尝试通过按enter
键而不是鼠标单击来执行相同的操作。
它将href
更改为正确的url,但不请求此新url
知道为什么吗?当您使用
$(“#导入”)触发单击事件时。单击()代码>,仅启动JS事件处理程序。它不会触发与该元素关联的自然事件,也就是说,它实际上不会将页面重定向到锚的href。您需要使用以下方法将重定向添加到JS事件处理程序中:
window.location.href = '/events/new?fb_event_id='+event_id;
可以使用以下方法触发本机锚单击行为:
$(element)[0].click();
它获取元素数组的第一个元素(DOM元素而不是jQuery对象)
而不是“$”(“#导入”)。单击(函数(){“尝试”$(“#新建#事件”)。提交(函数(){“提交”不起作用(此导入详细信息
链接样式为按钮)尝试:$(“#导入”)[0]。单击()
它很管用phillip100,你能给我解释一下哪里出了问题吗?@phillip100请写一个答案,我会接受,因为我的回答比andi的好一点。我添加了window.location.href=$('#import').attr('href');
它管用,谢谢。