关于ajax为什么要return true/false
2017-11-02 14:05
190 查看
function updateItem(orderId){
$.dialog({
lock: true,
title: '编辑条码',
content: 'url:' + baseUrl + '/order/storage/editInOrderSku.do?id='+orderId,
button: [{
name: '确定',
callback: function() {
var that= this;
$.post(baseUrl + '/order/storage/saveEditInOrderSku.do', {
},
function(msg) {
parent.$.showShortMessage({msg:msg.message,animate:false,left:"45%"});
if(msg.status =='1' ){
that.close();//成功 关闭窗口
}
},"json");
return false;// 否则 不关闭当前窗口
}
}],
cancel: true
});
};
一 举例
function addZone(){
$.dialog({
lock: true,
title: '添加',
width: '650px',
height: '540px',
content: 'url:' + baseUrl + '/inventory/shelves/addZone.do',
button: [{
name: '确定',
callback: function() {
var remark = this.content.$("#remark").val();
var isReturn = false;//定义一个变量
$.post(baseUrl + '/inventory/shelves/saveAddZone.do', {
remark:remark,
},
function(msg) {
if(msg.status == '1'){//成功状态
parent.$.showShortMessage({msg:msg.message,animate:false,left:"45%"});
gridZone.loadData();
}
if(msg.status =='0'){//失败状态
parent.$.showShortMessage({msg:msg.message,animate:false,left:"45%"});
isReturn = true;//改变变量值
}
},"json");
if(isReturn){
return false;//返回给按钮
}
}
}],
cancel: true
});
}
二 原因
在实现form表单的时候,我们往往对表单数据进行验证,再决定是否提交表单内容。而默认的form表单的默认事件,就是提交表单内容,那么应该如何进行判断呢?
通常有两种写法,原理都一样,只是习惯不同,一种就是form的 onsubmit事件,另一种则去掉input type='submit'这个默认提交按钮,改成一个普通的button来执行提交事件(但是发现改成button或者 input type=button 它还是会提交数据 )。
三 分析 1.提交方式1
<form action="index.html" method="post" name="form" id="form" onsubmit="return check()">
<pre name="code" class="javascript"><button >提交</button>
</form><script>function check(){return false;}</script>
2.提交方式2
<form action="index.html" method="post" name="form" id="form">
<button onclick="check()">提交</button>
</form>
<script>
function check()
{
$('#form').submit(function(){return false;});// true为提交
}
</script>
当我们想去后台验证表单的时,用的ajax//var isreturn = false;function check(){$.ajax({success:function(data){if(data.flag){//isreturn = true;return false;//返回的内容并不是被onsubmit所接收,而是check这个function,} 所以需要另外借住一个变量来接收这个标志(true or false)再在$.ajax()外return 给onsubmit}});if(isreturn){return false;}}
$.dialog({
lock: true,
title: '编辑条码',
content: 'url:' + baseUrl + '/order/storage/editInOrderSku.do?id='+orderId,
button: [{
name: '确定',
callback: function() {
var that= this;
$.post(baseUrl + '/order/storage/saveEditInOrderSku.do', {
},
function(msg) {
parent.$.showShortMessage({msg:msg.message,animate:false,left:"45%"});
if(msg.status =='1' ){
that.close();//成功 关闭窗口
}
},"json");
return false;// 否则 不关闭当前窗口
}
}],
cancel: true
});
};
一 举例
function addZone(){
$.dialog({
lock: true,
title: '添加',
width: '650px',
height: '540px',
content: 'url:' + baseUrl + '/inventory/shelves/addZone.do',
button: [{
name: '确定',
callback: function() {
var remark = this.content.$("#remark").val();
var isReturn = false;//定义一个变量
$.post(baseUrl + '/inventory/shelves/saveAddZone.do', {
remark:remark,
},
function(msg) {
if(msg.status == '1'){//成功状态
parent.$.showShortMessage({msg:msg.message,animate:false,left:"45%"});
gridZone.loadData();
}
if(msg.status =='0'){//失败状态
parent.$.showShortMessage({msg:msg.message,animate:false,left:"45%"});
isReturn = true;//改变变量值
}
},"json");
if(isReturn){
return false;//返回给按钮
}
}
}],
cancel: true
});
}
二 原因
在实现form表单的时候,我们往往对表单数据进行验证,再决定是否提交表单内容。而默认的form表单的默认事件,就是提交表单内容,那么应该如何进行判断呢?
通常有两种写法,原理都一样,只是习惯不同,一种就是form的 onsubmit事件,另一种则去掉input type='submit'这个默认提交按钮,改成一个普通的button来执行提交事件(但是发现改成button或者 input type=button 它还是会提交数据 )。
三 分析 1.提交方式1
<form action="index.html" method="post" name="form" id="form" onsubmit="return check()">
<pre name="code" class="javascript"><button >提交</button>
</form><script>function check(){return false;}</script>
2.提交方式2
<form action="index.html" method="post" name="form" id="form">
<button onclick="check()">提交</button>
</form>
<script>
function check()
{
$('#form').submit(function(){return false;});// true为提交
}
</script>
当我们想去后台验证表单的时,用的ajax//var isreturn = false;function check(){$.ajax({success:function(data){if(data.flag){//isreturn = true;return false;//返回的内容并不是被onsubmit所接收,而是check这个function,} 所以需要另外借住一个变量来接收这个标志(true or false)再在$.ajax()外return 给onsubmit}});if(isreturn){return false;}}
相关文章推荐
- 关于 Ajax中返回json类型数据为什么使用? eval()
- 关于ajax传值错误问题
- 关于ajaxFileUpload上传文件成功后,既不返回success又不返回error的原因
- 100个关于Java方面(SSH,jsp,Ajax,Servlet,JDBC)的PPT学习资料
- 关于asp.net ajax的一些小结
- 关于在IE和FireFox下ASP.NET AJAX框架的StringBuilder对象效率的测试
- 关于为什么java需要垃圾回收
- 关于Jquery中ajax方法data参数用法的总结
- 关于JQuery中的ajax请求或者post请求的回调方法中的操作执行或者变量修改没反映的问题
- 关于学好Ajax要掌握的一些技术
- 【待解决】关于百度贴吧post回帖的ajax方式
- 关于为什么要重载>>和<<问题
- 关于js中循环遍历中顺序执行多个嵌套ajax的问题
- eval解析ajax传回的json字符串为什么要用括号
- 关于利用ajax上传文件的心得
- 关于js实现的Ajax调用,webService,一般处理程序,aspx
- 关于怎么解决从ajax传入的json参数注入到Controller的接收对象 以及如何在Spring Boot项目使用参数校验
- 浅谈关于angularJs中使用$.ajax的注意点
- AJAX关于XmlHttpRequest内容