我有一个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无法正常工作?提前谢谢。
答案 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;
}
希望有所帮助