gpt4 book ai didi

javascript - 我可以确定在 javascript 中使用了哪个提交按钮吗?

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

我有一个非常简单的表单,其中包含一个名称字段和两个提交按钮:“更改”和“删除”。提交表单时,我需要在 javascript 中进行一些表单验证,因此我需要知道单击了哪个按钮。如果用户按下回车键,“更改”值就是发送到服务器的那个值。所以真的,我只需要知道是否点击了“删除”按钮。

我可以确定点击了哪个按钮吗?或者我是否需要将“删除”按钮从提交更改为常规按钮并捕获其 onclick 事件以提交表单?

表单如下所示:

 <form action="update.php" method="post" onsubmit="return checkForm(this);">
<input type="text" name="tagName" size="30" value="name goes here" />
<input type="hidden" name="tagID" value="1" />
<input type="submit" name="submit" value="Change" />
<input type="submit" name="submit" value="Delete" />
</form>

checkForm()函数中,form["submit"]是一个节点列表,不是我可以抓取值的单个元素。

最佳答案

这是一个使用 jQuery 的不显眼的方法...

$(function ()
{
// for each form on the page...
$("form").each(function ()
{
var that = $(this); // define context and reference

/* for each of the submit-inputs - in each of the forms on
the page - assign click and keypress event */
$("input:submit", that).bind("click keypress", function ()
{
// store the id of the submit-input on it's enclosing form
that.data("callerid", this.id);
});
});


// assign submit-event to all forms on the page
$("form").submit(function ()
{
/* retrieve the id of the input that was clicked, stored on
it's enclosing form */
var callerId = $(this).data("callerid");

// determine appropriate action(s)
if (callerId == "delete") // do stuff...

if (callerId == "change") // do stuff...

/* note: you can return false to prevent the default behavior
of the form--that is; stop the page from submitting */
});
});

注意:此代码使用 id 属性来引用元素,因此您必须更新标记。如果您希望我更新答案中的代码以使用名称属性来确定适当的操作,请告诉我。

关于javascript - 我可以确定在 javascript 中使用了哪个提交按钮吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2298635/

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