提交前如何检查?

发布于 2024-11-16 05:17:19 字数 263 浏览 1 评论 0原文

我需要在执行提交之前检查用户是否单击了按钮。

现在, 我正在使用 $(document).ready(function(){ ,我想在其中放入代码来检查按钮是否被按下。

这个“按钮”只是一个简单的 < code>div,带有背景图像,如果您单击那里,则会更改图像。 所以我需要添加一个变量,以便我可以做出 if 语句,对吧?

我知道JQ中有preventDefault函数,但尝试使用它没有成功。

谢谢你的帮助

I need to check if the user clicked on a button before I preform the submit.

Right now,
I am using $(document).ready(function(){ and I want to put in it, the code to check if the button was pressed or not.

This "button" its just a simple div, with background image that changes the image if you click there.
So I need to add a variable so I can make an if statement, right?

I know there is preventDefault function in JQ, but tried with no success to work with it.

thanks for help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

总攻大人 2024-11-23 05:17:19
jQuery('#yourForm').bind('submit',function(e){

    //do your test
    //if fails 
    e.preventDefault();

});
jQuery('#yourForm').bind('submit',function(e){

    //do your test
    //if fails 
    e.preventDefault();

});
千寻… 2024-11-23 05:17:19

这能回答你的问题吗?

$(document).ready(function(){
    $('#yourDiv').click(function() {
        $('#yourForm').submit();
    });
});

我在“按钮 div”上添加了一个单击处理程序。单击它时,它会提交表单。
所以你的表单中不必有提交按钮,只需你的 div 按钮

Does this answer your question ?

$(document).ready(function(){
    $('#yourDiv').click(function() {
        $('#yourForm').submit();
    });
});

I have added a click handler on the "button div". When it is clicked it submits the form.
So you don't have to have a submit button in your form, just your div button

有深☉意 2024-11-23 05:17:19
$('#form_element').submit(function() {
    return false;  // do this if you don't want to submit the form
});

您可以根据需要添加任意数量的提交事件。如果一个或多个提交事件返回 false,则不会提交表单;

$('#form_element').submit(function() {
    return false;  // do this if you don't want to submit the form
});

You can add as much submit events as you want. The form will not be submitted if one or more submit events return false;

梦幻之岛 2024-11-23 05:17:19

添加另一个输入元素来存储按钮是否被单击

<div id="divElement">
<input type="hidden" name="buttonIsClicked" value="0" />
</div>

,并为 div 设置事件处理程序。

$("#divElement").click( function() {
  $(this).children("input[name=buttonIsClicked]").val(1);
});

在 div 内添加 input 元素可以使代码执行速度更快,因为它只需在 div 元素下搜索而不是整个 DOM。如果您想将输入元素放在外面,那么您也可以通过使用

$(this).parent().find("input[type=buttonIsClicked]");

表单提交来优化您的代码,您可以通过以下方式进行检查

$(myFormElement).submit(function() {
  if($(this).find("input[name=buttonIsClicked]").val() == 0)
    return false;
  //proceed here if the button div is clicked
}

Add another input element which stores whether the button is clicked

<div id="divElement">
<input type="hidden" name="buttonIsClicked" value="0" />
</div>

and set the event handler for the div.

$("#divElement").click( function() {
  $(this).children("input[name=buttonIsClicked]").val(1);
});

Adding the input element inside the div makes the code execute faster since it just has to search only under the div element and not the entire DOM. If you want to place the input element outside, then too you could make your code optimized by using

$(this).parent().find("input[type=buttonIsClicked]");

on form submission you could check this by

$(myFormElement).submit(function() {
  if($(this).find("input[name=buttonIsClicked]").val() == 0)
    return false;
  //proceed here if the button div is clicked
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文