Search code examples
javascriptdom-eventsonbluronfocus

onFocus and onBlur


For some reason the onblur and onfocus properties don't work. Am I defining them right?

var replyTxt = document.createElement("input");
    replyTxt.id="replyTxt";
    replyTxt.type="text";
    replyTxt.value="Write a reply";
    
    replyTxt.onfocus = function(){if(replyTxt.value==replyTxt.defaultValue) replyTxt.value='';};
    replyTxt.onblur= function(){if(replyTxt.value=='') replyTxt.value=replyTxt.defaultValue;};

I have also tried putting "function(){if(replyTxt.value==replyTxt.defaultValue) replyTxt.value='';}" in quotations


Solution

  • The events work - so there may be a problem with your logic...

    if(replyTxt.value==replyTxt.defaultValue) replyTxt.value='';
    

    Where do you set replyTxt.defaultValue? In your example, you don't - so the logic will never fire. Try this...

    var replyTxtDefaultText = "Write a reply";
    var replyTxt = document.createElement("input");
        replyTxt.id="replyTxt";
        replyTxt.type="text";
        replyTxt.value=replyTxtDefaultText;
    
        replyTxt.onfocus = function(){if(replyTxt.value==replyTxtDefaultText) replyTxt.value='';};
        replyTxt.onblur= function(){if(replyTxt.value=='') replyTxt.value=replyTxtDefaultText;};