2017-04-16 144 views
-3

我希望將regis.checksum轉換爲1,以便下一次block不會運行。我也是新來的stackoverflow。在此先感謝了help`JavaScript對象變量不會改變

var regis = { 
     checksum : 0, 
     username : false, 
     first_name : false, 
     password : false, 
     password_check : false 
    } 

if($("#id_username").val().trim() == ""){ 
    if(regis['checksum']==0){ 
     alert(regis.checksum) 
     $("#id_username").focus(function(){ 
      $("#error_username").text("Your email id will be created with this name"); 
      regis['checksum'] = 1 
     }) 
    }else{ 
     $("#id_username").on('input', function() { 
      alert("Change to " + this.value); 
     }); 
    } 
}` 
+0

有啥問題? –

+0

@Yogesh regis.checksum只改變本地範圍的值,但我希望它改變全球regis.checksum –

+0

是你的'regis'對象在文檔準備好之外聲明嗎? –

回答

0
(function(){ 
    var regis = { 
      checksum : 0, 
      username : false, 
      first_name : false, 
      password : false, 
      password_check : false 
     }; 


    function validate(value){ 
     if(!value){ 
     $("#error_username").text("Username field cannot be left empty"); 
     } else if(value.indexOf(" ") > -1){ 
     $("#error_username").text("Username field cannot have spaces"); 
     } else { 
     $("#error_username").text(""); 
     } 
    } 

    $("#id_username").focus(function(){ 
    if(regis.checksum === 0){ 
    console.log(regis.checksum) 
    $("#error_username").text("Your email id will be created with this name"); 
    regis.checksum = 1 
    } else { 
    validate($("#id_username").val()); 
    } 
    }); 


    $("#id_username").on('input', function() { 
    if(regis.checksum === 1){ 
     validate($("#id_username").val()); 
    } 
    }); 
})() 

http://jsbin.com/paridad/edit?html,js,console,output

+0

函數似乎進入循環 –

+0

@gauravsamant:什麼是用戶...? –

+0

我想創建一個註冊表單。概念是,如果用戶第一次關注到用戶名將顯示字符串「這將是你的電子郵件用戶名」否則它會顯示,如果該字段是空的或不規則 –