1. 程式人生 > >關於ajax為什麼要return true/false

關於ajax為什麼要return true/false

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

  1. <form action="index.html" method="post" name="form" id="form" onsubmit="return check()">  
  2.     <pre name="code"class="javascript"><button >提交</button>  
</form><script>function check(){return false;}</script>

2.提交方式2

  1. <form action="index.html" method="post" name="form" id="form">  
  2.     <button onclick="check()">提交</button>  
  3. </form>  
  4. <script>  
  5.     function check()  
  6.     {  
  7.         $('#form').submit(function(){returnfalse;});// true為提交
  8.     }  
  9. </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為什麼return true/false

function updateItem(orderId){  $.dialog({          lock: true,          title: '編輯條碼',           content: 'url:' + baseUrl + '/order/stora

js跳出循環的方法區別( break, continue, return ) 及 $.each 的(return truereturn false

als onsubmit scrip case語句 成語 clas 輸入 結束 而在 js編程語法之break語句: break語句會使運行的程序立刻退出包含在最內層的循環或者退出一個switch語句。 由於它是用來退出循環或者switch語句,所以只有當它出現在這些語句時

4.不要在ajaxreturn false不會生效的

//校驗產品服務費費率 function validateProductServiceFeeRate(id, serviceFeeRate) { var message = true; $.ajax({ url: "/product/validateProductse

js中returnreturn true return false 的區別

return 定義: return 語句會 終止函式的執行 並 返回函式的值。  注意這兩個: 1.終止函式的執行 2.返回函式的值 返回函式的值這裡就不過多敘述了,就是 return 變數 先看下面的例子: <!DOCTYPE html> <html> <head>

Ajax中的async:false/true的作用

Ajax中的async用於控制(false)同步和(true)非同步,預設的是true,即請求預設的是非同步請求 $.ajax({ type: "POST", url: "/users/sessions",

javascript中的 return falsereturn true

關於javascript中的 return false和return true,return 是javascript裡函式返回值的關鍵字,一個函式內處理的結果可以使用return 返回,這樣在呼叫函式的地方就可以用變數接收返回結果。return 關鍵字內任何型別的變數資料或表示式都可以進行返回,甚至什麼都不返

Ajax 內部 return false 不起作用的解決方法

今天在寫Ajax的時候遇到一個問題,Ajax內部的 return false 不生效,並繼續執行後邊的程式碼。原始碼大概如下: $(function(){ //Ajax呼叫處理 $.ajax({ ty

onsubmit校驗表單時利用ajaxreturn false無效解決方法

原來的程式碼 function checkNewEmail(){              var re_email=new RegExp("\\[email protected]\\w+\\.\\w+\\.?\\w*");              var ne

drf框架,restful規範, #如果轉列表,一定寫safe=false # return JsonResponse(ll,safe=False,json_dumps_params={'ensure_ascii':False})

文件 對象 pre ews isp pip3 safe ams 響應 restful是一種代碼規範,主要有: 1.域名中都是名詞,根據情況可設復數形式, 2.根據menthod種類設定不同功能 get:獲取查詢數據 返回表 post:增加新數據 返回新對象 d

return , return true , return false的區別

代碼 style 繼續 區別 的區別 以及 alt 中斷 -a return true: 返回正確的處理結果。 return false : 返回錯誤的處理結果以及組織代碼繼續向下執行。 return:   返回null,起到中斷方法

js addEventListener(eventype,function,false/true); false true的區別

點擊 ntb 事件 doc div alert () att -m 第三個參數false true的區別 true 在捕獲節點的時候就觸發事件 ,由外到內 false 在冒泡的時候才觸發事件,由內到外 html: <div id="out">

一道Python面試題:給出d = [True, False, True, False, True],請利用列表d,只用一句話返回列表[0,2,4]

分享 忽略 class pytho 面試題 inf pos 如何 返回   前言:還是我,一個不知死活的小白,冒著生命危險去了一家有逼格的公司面試,去面試的路上就經歷了一番波折,公交車死等不來,最後差點誤了面試時間,這都不算什麽了,雖然對面試不抱什麽希望,但在技術面被虐成了

R3.4.0安裝包時報錯“需要TRUE/FALSE值的地方不可以用缺少值”,需升級到R3.5.0

解決 地方 時報 bubuko 安裝 als 報錯 lse http 錯誤: 解決方案: 升級R3.5.0後,解決: R3.4.0安裝包時報錯“需要TRUE/FALSE值的地方不可以用缺少值”,需升級到R3.5.0

vue.js v-if 控制true/false

通過v-if 控制true/false  可以使兩個DIV隱藏顯示切換 Html部分 <div id="index-content"> <div> <a @click="showNewG

vue.js v-if 控制true/false

sta () UNC dex play html als lse htm 通過v-if 控制true/false 可以使兩個DIV隱藏顯示切換 Html部分 <div id="index-content"> <div>

子執行緒中呼叫UpdateData(TRUE/FALSE)出現異常解決方法

       使用子執行緒去呼叫UpdateData(TRUE/FALSE)方法更新窗體控制元件值時,總是會彈出“Debug Assertion Failed”異常錯誤;        原因是:工作執行緒(子執行

關於request.getSession(true/false/null)的區別

現實中我們經常會遇到以下3中用法:HttpSession session = request.getSession(); HttpSession session = request.getSession(true); HttpSession session =

獲取的ajax方法return的返回值的問題解析

獲取的ajax方法return的返回值的問題: 如果jquery中,獲取不到ajax返回值。 兩個錯誤寫法會導致這種情況: 1.ajax未用同步   2.在ajax方法中直接return返回值。 下面列舉了三種寫法,如果想成功獲取到返回值,參考第三種寫法 /**  

Python裡面None True False之間的區別

None雖然跟True False一樣都是布林值。 雖然None不表示任何資料,但卻具有很重要的作用。 它和False之間的區別還是很大的! 例子: >>> t = None >>> if t: ... print("something") ..

true || false && false

一道簡單的判斷題,參與者10餘人,但是隻有一人回答對了,所以我決定寫篇文章 同事:true || false && false,這道題結果是啥 我:true 同事:執行順序是啥 我:&&的優先順序比較高,所以 false && false先執行,然後執行