我有这个简单的形式,我想检查文本输入是否为空。
所以这就是我所做的:
<form onsubmit='return validar()' name="miForm" action="" method="POST">
<input id='tMonth' value='<?php echo $tMonth;?>' name='tmes' type='text'>
...
function validar()
{
mostrarValidacion=document.getElementById('mostrarValidacion');
error=false;
mensaje='';
var tMonth=document.getElementById('tmes');
if (!tMonth) {
mensaje += 'Debe completar todos los campos<br>';
error=true;
}
mostrarValidacion.innerHTML=mensaje;
if (error==true) {
//con un return false nunca manda al servidor nada, no hace nada.
return false;
} else {
return true;
}
}
</script>
现在代码根本不起作用。它只在我替换这一行时才起作用:
var tMonth=document.getElementById('tmes');
对于这一行:
var tMonth=document.forms["miForm"]["tmes"].value
那么为什么不使用.getElementById?
答案 0 :(得分:3)
您正在使用ID&#39; tMonth&#39;
<input id='tMonth' value='<?php echo $tMonth;?>' name='tmes' type='text'>
但你正试图将其作为tmes
var tMonth=document.getElementById('tmes');
将上述行更改为
var tMonth=document.getElementById('tMonth');