您的位置:首页 > 产品设计 > UI/UE

关于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;}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: