国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

淺析onsubmit校驗表單時利用ajax的return false無效問題

2019-11-20 22:32:28
字體:
供稿:網(wǎng)友
復制代碼 代碼如下:

/**
 * 表單提交校驗
 **/
function onSubmit(){
    if($('#name').val().length<2){
        alert("名稱請不少于兩個漢字");
        return false;
    }
    var t = new Date().getTime();
    $.ajax({
        type: "POST",
        url: "/users/checkrepeat/",
   data: "name=" + $('#name').val() + "&time=" + t,
        success:function(res){
            if(res == 'exists'){
                alert("名稱已存在,請修改.");
                return false;
            }
        }
    });
}

問題原因:
1. ajax時return false 的function與onsubmit()不是同一個函數(shù);
2. 在ajax執(zhí)行時,async默認的設置值為true,這種情況為異步方式,就是說當ajax發(fā)送請求后,在等待server端返回的這個過程中,前臺會繼續(xù) 執(zhí)行ajax塊后面的腳本,直到server端返回正確的結(jié)果才會去執(zhí)行success,也就是說這時候執(zhí)行的是兩個線程,ajax塊發(fā)出請求后一個線程 和ajax塊后面的腳本(另一個線程)。

修改后的代碼:
復制代碼 代碼如下:

/**
 * 表單提交校驗
 **/
function onSubmit(){
    if($('#name').val().length<2){
        alert("名稱請不少于兩個漢字");
        return false;
    }   
    var flag = true;
    var t = new Date().getTime();
    $.ajax({
        type: "POST",
        async:false,  // 設置同步方式
        cache:false,
        url: "/users/checkrepeat/",
   data: "name=" + $('#name').val() + "&time=" + t,
        success:function(res){
            if(res == 'exists'){
                alert("名稱已存在,請修改.");
                flag = false;
            }
        }
    });
    if(!flag)
        return false;
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 莆田市| 云南省| 剑川县| 西贡区| 岚皋县| 黄骅市| 大宁县| 栖霞市| 永修县| 循化| 新乡市| 青冈县| 文安县| 沈丘县| 凉城县| 广安市| 梁河县| 银川市| 疏附县| 临安市| 婺源县| 唐河县| 拉孜县| 梓潼县| 咸宁市| 武穴市| 上高县| 拜泉县| 三台县| 牡丹江市| 乌鲁木齐市| 宁国市| 建宁县| 沅陵县| 甘肃省| 榆中县| 隆回县| 金寨县| 玉田县| 雅江县| 理塘县|