我需要检查用户是否在执行提交之前单击了一个按钮。提交前如何检查?
现在, 我正在使用$(document).ready(function(){
,我想把它放在里面,检查按钮是否被按下的代码。
这个“按钮”只是一个简单的div
,背景图片可以改变图像,如果你点击那里。 所以我需要添加一个变量,这样我可以创建一个if语句,对吧?
我知道JQ中有preventDefault函数,但试过没有成功使用它。
感谢您的帮助
我需要检查用户是否在执行提交之前单击了一个按钮。提交前如何检查?
现在, 我正在使用$(document).ready(function(){
,我想把它放在里面,检查按钮是否被按下的代码。
这个“按钮”只是一个简单的div
,背景图片可以改变图像,如果你点击那里。 所以我需要添加一个变量,这样我可以创建一个if语句,对吧?
我知道JQ中有preventDefault函数,但试过没有成功使用它。
感谢您的帮助
$('#form_element').submit(function() {
return false; // do this if you don't want to submit the form
});
您可以添加尽可能多的,只要你想提交事件。如果一个或多个提交事件返回false,则不会提交表单;
这是回答您的问题吗?
$(document).ready(function(){
$('#yourDiv').click(function() {
$('#yourForm').submit();
});
});
我在“button div”上添加了点击处理程序。点击时提交表单。 所以,你不必在你的形式提交按钮,只是你的DIV按钮
jQuery('#yourForm').bind('submit',function(e){
//do your test
//if fails
e.preventDefault();
});
添加存储按钮是否被点击
<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
}
检查此