如何在一行上制作 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】:您的逻辑需要颠倒,以便首先检查两者都为空的情况,否则代码将永远不会到达它,因为x
或y
情况首先发生。试试:
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
语句移到顶部。由于您的代码当前存在,因此如果发现名字或姓氏为空,则不会检查这两个字段。
或者,您可以在 x
和 y
中的每一个中添加逻辑,以检查另一个是否不为空,但如果您只是反转代码,则不需要这样做。
【讨论】:
以上是关于如何在一行上制作 Javascript 警报代码的主要内容,如果未能解决你的问题,请参考以下文章