javascript - javascript 中的警报语句不显示?

标签 javascript html validation

以下 javacript 用于验证检查。然而警报 当缺少输入时,语句不会出现。 我尝试删除 if 语句并仅使用alert 语句和 脚本工作正常。 if 语句有什么问题吗? 下面是我的 HTML 代码:

<html>
<head>
<title>A More Complex Form with JavaScript Validation</title>
<script type="text/javascript">
// Validation form
function validate_form()
{
    valid = true;
    // check for missing name
    if ( document.contact_form.contact_name.value == "" )
    {
        alert("Please fill in the 'Your Name' box,");
        valid = false;
    }
    // check for missing gender
    if ( document.contact_form.gender[0].checked == false ) && ( 
    document.contact_form.gender[1].checked == false )  
    {
        alert("Please choose your Gender: Male or Female");
        valid = false;
    }
    // check for missing age
    if ( document.contact_form.age.selectedIndex == 0 )
    {
        alert("Please select your Age.");
        valid = false;
    }
    // check for missing terms 
    if ( document.contact_form.terms == false )
    {
        alert("Please check the Terms & Conditions box.");
        valid = false;
    }

    return valid;
}
//-->        
</script>
</head>

<body>
<h1>Please Enter Your Details Below</h1>
<form name="contact_form" onsubmit="validate_form()">
<p>Your Name: 
<input type="text" name="contact_name" size="20">
</p>
<p>
Your Gender:
<input type="radio" name="gender" value="male">Male
<input type="radio" name="gender" value="female">Female
</p>
<p>
Your Age:
<select name="age">
<option value="1">0-14 years</option>
<option value="2">15-30 years</option>
<option value="3">31-44 years</option>
<option value="4">45-60 years</option>
<option value="5">61-74 years</option>
<option value="6">75-90 years</option>
</select>
</p>
<p>
Do you agree to the Terms and Conditions?
<input type="checkbox" name="terms" value="yes">Yes
</p>
<input type="submit" name="submit" value="Send Details">
</form>
</body>
</html>

最佳答案

if ( document.contact_form.gender[0].checked == false ) && ( 
document.contact_form.gender[1].checked == false )  
{
    alert("Please choose your Gender: Male or Female");
    valid = false;
}

你必须改变这样的条件

if ( document.contact_form.gender[0].checked == false &&
document.contact_form.gender[1].checked == false )  
{
    alert("Please choose your Gender: Male or Female");
    valid = false;
}

由于此错误,您的脚本无法启动。

提示:您可以从 Chrome 控制台等浏览器的开发控制台检查脚本错误。

正如注释中所说的“trincot”,您还可以使用 ! 运算符来检查 boolean 值。

if ( !document.contact_form.gender[0].checked && !document.contact_form.gender[1].checked )  
{
    alert("Please choose your Gender: Male or Female");
    valid = false;
}

关于javascript - javascript 中的警报语句不显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43228162/

相关文章:

python - Great Expectations expect column to contain only integers 当只有一个是坏的时,所有行都失败

javascript - 将函数 random() 与 sass 一起使用来选择随机变量

html - 为什么::first-line 不适用于预包装?

javascript - 无法通过 JS 文件访问 JQuery

javascript - 在 Javascript 中将对象属性转换为逗号分隔值

javascript - 将类应用于 HTML 中被 AJAX 调用的 div?

javascript - HTML5 验证的表单事件失败?

validation - Ember-Validations - 不要自动验证

javascript - 如何使用 angularjs 保持打开的 div 框

javascript - 如何像 Google 那样将默认焦点放在网页的搜索栏上