为什么onblur不工作?

时间:2014-04-24 12:48:31

标签: javascript html onblur

我有一个HTML表单,我需要一个电子邮件确认字段,所以我尝试了这个:

[contact-field label='Email' type='email' id="email" required='1'/]
[contact-field label='Confirmar email' type='email' id="confemail" onblur="confirmEmail();" required='1'/]

我的HTML末尾也有这个JavaScript:

<script type="text/javascript">
    function confirmEmail() {
        var email = document.getElementById("email").value
        var confemail = document.getElementById("confemail").value
        if(email != confemail) {
            alert('Email Not Matching!');
        }
    }
</script>

为什么onblur无法正常工作?提前谢谢。

2 个答案:

答案 0 :(得分:4)

[contact-field label='Confirmar email' type='email' id="confemail" onblur="confirmEmail();" required='1'/]无效 html 。我想你可能正在使用一些生成html的技术。在这种情况下onblur可能在翻译中丢失(即不在html上生成)。

答案 1 :(得分:0)

这可能有所帮助(asp.net)。此示例将给定控件的总值相加,并且只要具有此onblur事件的控件松散焦点,就将TotalScore TextBox的值设置为该值

将事件添加到控制中:

<asp:TextBox ID="GroupA" runat="server" onblur="Javascript:RecalculateScoreTotal();"  Width="50px"></asp:TextBox> 

JavaScript的:

        function RecalculateScoreTotal() {
        var tbA = parseInt(document.getElementById('<%=GroupA.ClientID%>').value.replace(/,/g,''));
        var tbB = parseInt(document.getElementById('<%=GroupB.ClientID%>').value.replace(/,/g, ''));
        var tbC = parseInt(document.getElementById('<%=GroupC.ClientID%>').value.replace(/,/g, ''));
        var tbD = parseInt(document.getElementById('<%=GroupD.ClientID%>').value.replace(/,/g, ''));
        var tbE = parseInt(document.getElementById('<%=GroupE.ClientID%>').value.replace(/,/g, ''));
        var tbF = parseInt(document.getElementById('<%=GroupF.ClientID%>').value.replace(/,/g, ''));
        var tbG = parseInt(document.getElementById('<%=GroupG.ClientID%>').value.replace(/,/g, ''));
        var total = tbA + tbB + tbC + tbD + tbE + tbF + tbG;
        document.getElementById('<%=TotalScore.ClientID%>').value = total;
    }

希望有所帮助