2017-04-16 20 views
-3

ブロックが次回実行されないようにregis.checksumを1に変換します。私はまた、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

私は登録フォームを作成したいと思います。ユーザ名に「あなたのメールアドレスのユーザ名になります」という文字列が表示されます。フィールドが空でも不規則でも表示されます –

関連する問題