输入框--->     <input type="text" name="" id="deviceserial" onblur="checkseralize()">
还有一个按钮----->  <input type="button" id="btnyes" value="确定" onclick="addyes()">
本来需求是用户输入字符移开鼠标执行onblur事件中的js函数,验证用户输入是否合法,点击按钮执行后台action。
问题:用户可能是输完字符直接点了按钮 导致只执行了输入框的onblur事件,没有执行按钮的addyes方法,用户需要再点击按钮才能执行按钮的click事件。我想让用户只点击一次就能执行onblur验证,而click事件也能执行,这个问题怎么解决????

解决方案 »

  1.   

    onblur是失去焦点事件function addyes()
    {
        if(return checkseralize())
        {执行addyes()代码}
    }
    function checkseralize()
    {
        //验证通过则return true,否则return false
    }
      

  2.   

    一看就是dom不熟
    验证全放到addyes不就行了,干嘛非要checkseralize函数否则就用上面的方法吧
      

  3.   


    我就是这么写的  问题是onblur执行完后 没有执行onclick
      

  4.   

    onclick 其实已经执行了啊,只不过你checkseralize()方法返回了false的话 那addyes()中就没有继续走下去嘛