如何在一行上制作 Javascript 警报代码

Posted

技术标签:

【中文标题】如何在一行上制作 Javascript 警报代码【英文标题】:How to make Javascript alert code all on one line 【发布时间】:2016-04-26 14:27:22 【问题描述】:

如果表单的两个字段都没有插入信息,我正试图弄清楚如何制作警报代码“必须填写名字和姓氏”。我知道如何单独执行它们,但是您如何为合并在一行上的两条消息制作警报代码?我对 javascript 很陌生..

    <!DOCTYPE html>
<html>
<head>
<script>
function validateForm() 
    var x = document.forms["myForm"]["fname"].value;
    var y = document.forms["myForm"]["lname"].value;
    if (x == null || x == "") 
        alert("First Name is missing information");
        return false;
    
    else (y == null || y == "") 
        alert("Last Name is missing information")
        return false;
    
    else (x == null || x == "" && y == null || y == "") 
        alert("First and Last name are missing information")
        return false;
    

</script>
</head>
<body>

<form name="myForm" action="demo_form.asp"
onsubmit="return validateForm()" method="post">
First Name: <input type="text" name="fname"><br>
Last Name:  <input type="text" name="lname"><br>
<input type="submit" value="Submit">
</form>

</body>
</html>

【问题讨论】:

那么...你的问题得到解答了吗? 【参考方案1】:

删除所有 JavaScript。

<!DOCTYPE html>
<html>
<head>
</head>
<body>

<form action="demo_form.asp" method="post">
  First Name: <input type="text" name="fname" required /><br />
  Last Name:  <input type="text" name="lname" required /><br />
  <input type="submit" value="Submit" />
</form>

</body>
</html>

注意表单上的required 属性。

不要使用 JavaScript 来完成 HTML 的工作。

【讨论】:

这在现代浏览器中是理想的,但不考虑验证消息或如果要求要求支持旧版 IE。【参考方案2】:

您的逻辑需要颠倒,以便首先检查两者都为空的情况,否则代码将永远不会到达它,因为xy 情况首先发生。试试:

var x = document.forms["myForm"]["fname"].value;
var y = document.forms["myForm"]["lname"].value;
var emptyX = x == null || x == "";
var emptyY = y == null || y == "";
if (emptyX && emptyY) 
    alert("First and Last name are missing information")
    return false;

else (emptyX) 
    alert("First Name is missing information");
    return false;

else (emptyY) 
    alert("Last Name is missing information")
    return false;

【讨论】:

【参考方案3】:

您应该将最后的else 语句移到顶部。由于您的代码当前存在,因此如果发现名字或姓氏为空,则不会检查这两个字段。

或者,您可以在 xy 中的每一个中添加逻辑,以检查另一个是否不为空,但如果您只是反转代码,则不需要这样做。

【讨论】:

以上是关于如何在一行上制作 Javascript 警报代码的主要内容,如果未能解决你的问题,请参考以下文章

如何在浏览器上播放自定义警报声音?

如何在 div 标签上制作背景颜色

未声明 Javascript 警报中的 JSLint 混淆

如何在 ReactJS 中制作和事件并发出警报?

禁用 Safari 错误警报

如何通过 javascript 制作 html 和 css 组件?