Javascript/JQuery POST "url"未定义(定义)
Javascript/JQuery POST "url" undefined (undefined)
我已经将onclick事件附加到表单的提交按钮以覆盖默认的POST请求,但是我在使其工作时遇到了一些麻烦。
我想要的是点击要添加到购物车的项目,但只显示模态确认而不刷新页面。
这段代码在我的静态示例中工作,但是自从集成它以来我所做的一些事情使它中断了。
function cartSubmit(addbtn)
{
var form = addbtn.parentNode.parentNode.parentNode;
var formData = jQuery(form).serializeArray();
jQuery.post("/myurl/", formData, function(r){
jQuery.colorbox({html:'<div style="padding:10px;"><h2>Product added to cart.</h2></div>'});
});
return false;
}
现在我得到一个错误在控制台说POST "http://localhost/myurl/"未定义(未定义),然后表单提交正常(刷新页面),但似乎也与javascript提交,因为它将项目添加到购物车两次。
无论如何,任何帮助都是非常感谢的!
您可以尝试通过提交事件将该函数绑定到表单,例如,假设您的表单的id为myform,将以下内容添加到文档中,并且您不再需要提交按钮的onclick属性:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<form id="someform-123" method="post">
<input type="text" id="field1" />
<input type="submit" class="add_to_cart" value="Add" />
</form>
<hr>
<form id="someform-789" method="post">
<input type="text" id="field2" />
<input type="submit" class="add_to_cart" value="Add" />
</form>
<script type="text/javascript">
$('.add_to_cart').closest('form').submit(function(e) {
e.preventDefault();
alert('form id: ' + $(this).closest('form').attr('id'));
});
</script>
</body>
</html>
我遇到了同样的问题,一个中止的AJAX请求。我已经固定了它使用返回false在我的按钮。如果你有(例如):
<form method="post" action="">
Name: <input type="text" name="whatever" id="whatever" />
<input type="submit" id="join" value="Join" />
</form>
和
$("#join").click(function(){
$.ajax({
url: 'whatever.php',
type: 'POST',
data: 'name=' + $("#join").val(),
success: function(r){ alert(r); }
});
});
为了解决这个问题,取消表单的提交,在按钮上添加一个返回:
$("#join").click(function(){
$.ajax({
url: 'whatever.php',
type: 'POST',
data: 'name=' + $("#join").val(),
success: function(r){ alert(r); }
});
return false;
});
相关文章:
- "日期“;AJAX请求返回的类型值未定义
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- Angular promise return"未定义的“;值.NET MVC
- 得到"未定义不是函数“;使用显示原型图案时出错
- 为什么我会出现此错误"未捕获引用错误:未定义标题;
- jquery validate 1.8.1”;jQuery"是未定义的错误IE8
- "这个“;正在返回未定义的
- 我该如何解决“;未捕获引用错误:谷歌没有定义"?(谷歌地图API)
- 得到"全局未定义“;全局变量定义清楚时出错
- "TypeError:t.start未定义”;,在fullcalendar.min.js中,同时在我的网站上使
- "未定义不是函数“;错误jQuery,.replaces,scrollTop
- jsLint仍在警告“;X是在定义之前使用的"即使设置了undef
- "包装器”;TinyMce自定义插件
- "ctrl”;在指令中的LINK中未定义
- “=>"在javascript中定义函数的语法及其意义
- "未定义的“;当从Android向JavaScript传递数据时
- "无法读取属性'id'未定义的“;解析工厂中声明的数组时
- "未捕获的类型错误:未定义的不是函数“;当向输入字段添加值时
- jqueryui:"类型错误:this.menu.element未定义"