如何使Javascript警报代码全部在一行上
How to make Javascript alert code all on one line
如果表单的两个字段都没有插入信息,我正在尝试弄清楚如何使警报代码"必须填写名字和姓氏"。我知道如何单独执行它们,但是您如何将两条消息合并在一行上制作警报代码?我对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>
删除所有 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 的工作。
您的逻辑需要颠倒过来,以便首先检查两者都为 null 的情况,否则代码将永远无法到达它,因为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;
}
您应该
将最终的else
语句移到顶部。由于您的代码当前存在,如果发现名字或姓氏为空,则不会检查这两个字段。
或者,您可以在每个x
和y
中添加逻辑,以检查另一个是否为空,但如果您只是反转代码,则不需要这样做。
相关文章:
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 动态插入的表:JQuery未检测到最后一行
- 在终端中运行 JavaScript 时(使用 rhino),如何使用 print() 函数在一行中打印
- 如何在Angular UI网格中选择下一行
- JavaScript-切换“;全部检查”;复选框true/false
- 通过单击动态加载的表中同一行的另一个字段来更新一行的字段
- Jquery幻灯片以一行左侧的图像开始,但我希望它从右端开始
- 从重复的javascript数组结果集中只获取一行
- 在GridView中,当单击复选框时,在网格的同一行中使用JavaScript将标签中的值添加到TextBox
- html5画布在同一行中写入多个字体
- Express.js和multer:如何知道文件何时全部上传
- Angular JS在一行中查找最小值
- 是否排除节点中错误堆栈的第一行?/节点中的自定义错误类型
- 谷歌地图-数据库中的标记只显示最后一行的信息
- 如何确保JQuery的一行在另一行之前运行
- PHP&CSS:如何获得表中每一行的悬停效果
- 如何使Javascript警报代码全部在一行上
- 如果文本不适合同一行,则不显示全部
- 添加<td>到表的一行,但不是全部更改行位置
- Bootstrap 3网格系统-“单元格”在高度上是可扩展的,但它会将下一行全部向下移动