这是一个非常简单的问题。我有这个工作,然后我必须改变一些东西,现在它不起作用。它只是一个JS代码检查空字符串。这是下面的代码。这让我疯狂了20分钟,试图找出这个荒谬简单的代码有什么问题。
<script type="text/javascript">
function validateForm(){
var email= document.getElementById('email').value;
if (email.length==''){
alert("please fill out email");}}
</script>
<form name="contact" method="post" action='ContactPHP.php'>
Your Email: <input name='email' type='text' /><br />
<input type="button" value="submit" onClick="validateForm()"/>
</form>
答案 0 :(得分:4)
您的javascript调用getElementById('email')
,但您的输入的ID不是'email'。
为其分配ID。
<input name='email' id='email' type='text' />
答案 1 :(得分:2)
email.length
不会返回字符串。您正在将它与空字符串进行比较。使用email == ""
或email.length > 0
。
此外,您的输入元素包含name
“电子邮件”,但您正在查找包含id
“电子邮件”的元素。
以下是完整(已更正)的摘要:
<script type="text/javascript">
function validateForm(){
var email= document.getElementById('email').value;
if(email.value == '') {
alert("please fill out email");
}
}
</script>
<form name="contact" method="post" action='ContactPHP.php'>
Your Email: <input id='email' name='email' type='text' /><br />
<input type="button" value="submit" onClick="validateForm()"/>
</form>
答案 2 :(得分:0)
你有name='email
',但正在寻找带有电子邮件ID的元素...只需在文字输入中添加id='email'
答案 3 :(得分:0)
您对该电子邮件的输入没有Id =“email”
答案 4 :(得分:0)
您不想在此处使用document.getElementById。
试试这个:
function validateForm(form){ var email = form.email.value; if(email.length ==''){ 提醒(“请填写电子邮件”);}} 您的电子邮件:答案 5 :(得分:0)
我太懒了,但我觉得即使验证失败,表单也会提交,因为javascript函数不会返回false;
警告后我会返回false('yadda yadda');并将onclick事件处理程序更改为:
onclick="return validateForm();"