在表单输入上按Enter键并更改默认操作(提交表单)

时间:2015-02-11 20:27:01

标签: javascript jquery forms

我有简单的表格:

  • 两个输入字段facebook event linkname
  • {li> import details链接在facebook event link输入旁边 - 当我点击它时,它会将href属性从/events/new更改为/events/new?fb_event_id={fb_event_id extracted from link}并使用此更新发出新请求href
  • submit按钮提交表单。

http://www.bootply.com/KMfGxnrqxf

当我填写facebook event link输入时,例如: https://www.facebook.com/events/123并点击import details一切正常 - 更改/events/new?fb_event_id=123的链接并提出新请求。

现在我尝试按enter键而不是鼠标点击来做同样的事情。 它会将href更改为正确的,但不会请求此新网址。

知道为什么吗?

2 个答案:

答案 0 :(得分:2)

使用$('#import').click();触发click事件时,只会启动JS事件处理程序。它不会触发与该元素关联的自然事件,即它实际上不会将页面重定向到锚点的href。您需要使用以下内容将重定向添加到JS事件处理程序中:

window.location.href = '/events/new?fb_event_id='+event_id;

答案 1 :(得分:2)

可以使用以下方法触发本机锚点击行为:

$(element)[0].click();

它获取元素数组的第一个元素(DOM元素而不是jQuery对象)。

Solution reference

相关问题