gpt4 book ai didi

javascript - 确定从 jQuery/JavaScript 中单击了哪个提交按钮

转载 作者:可可西里 更新时间:2023-11-01 01:43:10 25 4
gpt4 key购买 nike

<分区>

我正在对我未编写的 PHP 应用程序中的一些表单进行 ajax 化。为此,我想到了这个聪明的解决方案:

jQuery("form").submit(function(event) {
// get some values from elements on the page:
var the_form = jQuery(this);
var data = the_form.serialize();
var url = the_form.attr( 'action' );
var button = event.originalEvent.explicitOriginalTarget;

data = data + "&" + button.name + "=" + button.value;

// Send the data using post and put the results in a div
jQuery.post( url, data, function() {
//Do something crazy
});

// stop form from submitting normally
if (event.preventDefault)
{
event.preventDefault();
}
else
{
event.returnValue = false;
}
});

效果很好。我高高兴兴地走了。问题是,我无意中使用了 Mozilla/Gecko 专用属性来确定单击了哪个按钮。 (event.originalEvent.explicitOriginalTarget) 这意味着这只适用于 Firefox。 :-(

所有这些都是必要的,因为我正在扩充的网络应用程序依赖于发布数据中的按钮名称/值来正确处理表单。所以,我的问题简单来说就是:

确定在 jQuery 的提交事件中单击了哪个按钮的最佳跨浏览器方法是什么?

编辑:这是我的解决方案。

jQuery("some selector that targets your form").find(":submit").click(function(event) {
// get some values from elements on the page:
var the_form = jQuery(this).parents("form");
var data = the_form.serialize();
var url = the_form.attr( 'action' );
var button = event.target;

data = data + "&" + button.name + "=" + button.value;

// Send the data using post and put the results in a div
jQuery.post( url, data, function() {
//Do something crazy
});

// stop form from submitting normally
if (event.preventDefault)
{
event.preventDefault();
}
else
{
event.returnValue = false;
}
});

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com