jqueryajax表单提交请求第一次点击不起作用可能是什么原因
jquery ajax form submit request with first click is not working what is the possible cause
第一次点击时它没有得到响应,但第二次点击时,它给出了所需的效果
我正在使用多种形式的
<form action="" method="" id="formproduct">
<input
type="hidden"
name="id"
class="productid"
value="<?php echo $row['Product_id'];?>"
/>
<button name="submit" class="btn">Add To Cart</button>
</form>
<script>
$(document).ready(function(){
jQuery("#formproduct").submit(function(event){
event.preventDefault();
$("form").on("click", "button[name=submit]", function(){
var form = $(this).closest("form"); // find the form to relate to
var formData = { product: $(".productid", form).val() };
jQuery.ajax({
type: "POST",
url: "server-cart.php",///contain the url of ajax
data:formData,
dataType:"json",
success : function (response){}
});
}
}
}
</script>
jQuery("#formproduct").submit(function(event){
...
$("form").on("click", "button[name=submit]", function(){});
...
});
这是绑定提交处理程序。当表单提交时,该逻辑将点击处理程序绑定到表单。因此,之后点击表单提交按钮将执行该逻辑。如果您希望第一次发生点击逻辑,则必须将其移动到提交处理程序之外。
只需去掉点击处理程序,直接在提交处理程序中执行ajax
jQuery("#formproduct").submit(function(event) {
event.preventDefault();
var form = $(this); // "this" is the form
var formData = {
product: $(".productid", form).val()
};
jQuery.ajax({
type: "POST",
url: "server-cart.php", ///contain the url of ajax
data: formData,
dataType: "json",
success: function(response) {}
});
});
好处是用户也可以使用键盘提交
相关文章:
- AngularJS ng include won'不知什么原因不起作用
- 为什么不是'我的修剪功能不起作用
- 使用JQuery运行php并刷新页面是不起作用的
- 如果视图中没有Jquery脚本引用,Unobtrusive Javascript Validation是不起作用的
- 我需要一种自动调整iframe大小的方法,无论我查到什么,它都不起作用
- 意思是.js - 登录后重定向用户 - 在本地工作,但在部署时不起作用
- scope.$apply 是未定义的,在 scrolly 指令中不起作用
- 是什么让这个简单的递归不起作用
- 角度灯箱不起作用.我做错了什么
- 当图像和链接是 json 对象属性的值时,它们不起作用
- 意思是.JS中间件中的猫鼬填充不起作用
- 简单的JS计算器-为什么不是'这个if语句不起作用
- 我的js分页代码不起作用,完全不知道是什么原因造成的
- 是什么原因导致 Blogspot 中的 Google+ 评论在某些页面上不起作用
- ng路由不起作用.我不知道错误是什么,因为控制台中没有显示任何内容
- jqueryajax表单提交请求第一次点击不起作用可能是什么原因
- 任何原因滚动条=是都不起作用
- 我的Javascript不起作用.我不知道它是不是函数,我是怎么调用它的,我用了什么CSS之类的
- Jquery代码不起作用,但JavaScript起作用.我的错误是什么
- JavaScript: string.replace()不起作用,问题是什么?