相同输入id的两个onblur

时间:2014-08-27 15:53:10

标签: javascript html css

以下是我的例行公事。我需要同时做两个onblur功能。当有单个onblur时,下面的代码可以正常工作。如何修改我的代码以实现这两种功能。

HTML编码:

<input type="text" name="frmEmail" id="frmEmail" class="textbox" value="Email Address" onfocus="if(this.value =='Email Address'){this.value=''}" onblur="if(this.value==''){this.value='Email Address'}"  />

Javascript编码:

function checkEmpty()
{
    count=0;
    if(document.getElementById('frmEmail').value=="Email Address") {
        document.getElementById('frmEmail').style.backgroundColor = '#f6a9ae';
        count++;
    } else {
        document.getElementById('frmEmail').style.backgroundColor = '';
    }

    if(count!=0) {
        return false;
    } else {
        return true;
    }
}

2 个答案:

答案 0 :(得分:2)

创建一个调用子程序的“父”函数。

<input ... onblur="myparent();">

function myparent(){
   dothis();
   dothat();
}

更好的解决方案是创建事件的侦听器,而不是内联处理程序,例如

jQuery方法:

 <input id="myel">
$(function(){
 $("#myel").blur(function() { 
   dothis(); 
   dothat(); 
 });
});

或者,纯粹的JS需要非jQuery

 <input id="myel">

 var myel = document.getElementById("myel");
 myel.onblur = function() { 
    dothis(); 
    dothat(); 
 }

答案 1 :(得分:1)

应用此代码

<input type="text" name="frmEmail" id="frmEmail" class="textbox" value="Email Address" 
    onfocus="if(this.value =='Email Address'){this.value=''; this.style.backgroundColor = '#fff';}" 
    onblur="if(this.value==''){this.value='Email Address'} checkEmpty()"  />