我本以为表单对象会包含formmethod和formaction。
问题:有办法获取formaction吗?或者找出表单中哪个按钮被点击了,从而可以通过该按钮访问它们?
我需要重新编写事件处理程序来捕获按钮的单击事件(
问题:有办法获取formaction吗?或者找出表单中哪个按钮被点击了,从而可以通过该按钮访问它们?
我需要重新编写事件处理程序来捕获按钮的单击事件(
$(document).on('click', '.myformbtn', function(e)
),并使用var queryString= $(this).parent('form').serialize();
来访问表单。<form>
<button type="submit"
formmethod="POST"
formaction="/mysave">Save</button>
<button type="submit"
formmethod="GET"
formaction="/mydata">Get new data</button>
</form>
$(document).ready(function()
{
$(document).on('submit', 'form', function(e) {
e.preventDefault();
var formaction = $(this).getFormAction();
var queryString= $(this).serialize();
$.ajax({
type: formmethod,
url: formaction,
data: queryString
});
});
});
我发现类似的问题,答案总是$(this).attr('formaction')
,但这是不正确的,因为表单没有该属性。我希望提供一个使用示例,可以激发人们的思考。
e.originalEvent.explicitOriginalTarget
正是我想要的。回复也很快速,太棒了 :) - Bradmagee.originalEvent.explicitOriginalTarget
只适用于Firefox。对此我感到抱歉。现在我已经用新方法更新了我的答案。我已经在IE9、10、Firefox 41.0和Chrome 47.0上测试过了。虽然还没有能够在移动设备上进行测试。这与你发布的答案有些类似。你正在检查焦点元素,而我们正在寻找活动元素。谢谢...! - vijayP