用于电子邮件验证我有以下两个输入字段:
<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();
但是,我希望输入元素重置,并且第一个输入元素处于焦点上(获得我使用第一段代码片段时获得的效果)。
如何使用getElementById方法执行此操作?
感谢名单
答案 0 :(得分:2)
你错过了一些大括号,还有一些.value
:
<script type="text/javascript">
function confirm_email(){
var email = document.getElementById('field_email').value;
var re_email = document.getElementById('field_retype_email').value;
if( email != re_email ) { // <-- here
alert("ERROR: El correo electronico no coincide. Escribe tu correo electronico nuevamente")
document.getElementById('field_email').value = "";
document.getElementById('field_retype_email').value = "";
document.getElementById('field_email').focus();
} // <-- and here
else {}
}
</script>
答案 1 :(得分:1)
您的脚本中缺少一些.value
属性。这对你有用吗?
<script type="text/javascript">
function confirm_email(){
var email = document.getElementById('field_email').value;
var re_email = document.getElementById('field_retype_email').value;
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').value = "";
document.getElementById('field_email').focus();
}
else {}
}
</script>