【发布时间】:2011-03-25 03:05:49
【问题描述】:
对于电子邮件验证,我有以下两个输入字段:
<input class="inputbox" type="text" name="data[subscriber][email]" id="field_email" size="40" value="'.$this->escape(@$this->subscriber->email).'"/>
<input class="inputbox" type="text" name="data[subscriber][retype_email]" id="field_retype_email" size="40" value="" onblur="confirm_email()" />
输入字段的名称不同( input1_name, input2_name ),我有工作脚本:
<script type = "text/javascript">
function confirm_email() {
email = document.adminForm.input1_name.value;
re_email = document.adminForm.input2_name.value;
if ( email != re_email ) {
alert ("ERROR: El correo electronico no coincide. Escribe tu correo electronico nuevamente")
document.adminForm.input1_name.value = "";
document.adminForm.input2_name.value = "";
document.adminForm.input1_name.focus();
}
else {}
}
</script>
但我需要通过 id 访问元素,因为输入元素需要用括号格式化(这在 javascript 中不起作用)。于是我导出了以下脚本:
<script type="text/javascript">
function confirm_email(){
var email = document.getElementById('field_email');
var re_email = document.getElementById('field_retype_email');
if( email != re_email )
alert("ERROR: El correo electronico no coincide. Escribe tu correo electronico nuevamente")
document.getElementById('field_email').value = "";
document.getElementById('field_retype_email') = "";
document.getElementById('field_email').focus();
else {}
}
</script>
它不起作用
如果我只使用脚本的这一部分,它就可以工作:
<script type="text/javascript">
function confirm_email(){
var email = document.getElementById('field_email');
var re_email = document.getElementById('field_retype_email');
if( email != re_email )
alert("ERROR: El correo electronico no coincide. Escribe tu correo electronico nuevamente")
else {}
}
</script>
这意味着这些行是错误的:
document.getElementById('field_email').value = "";
document.getElementById('field_retype_email') = "";
document.getElementById('field_email').focus();
但是,我希望输入元素重置,并且第一个输入元素成为焦点(获得我使用第一个有效代码的 sn-p 时得到的效果)。
如何使用 getElementById 方法做到这一点?
感谢
【问题讨论】:
-
Related:
if( email != re_email )正在比较 元素,它总是不同的,你想要if( email.value != re_email.value )
标签: javascript email-validation getelementbyid