我是JavaScript的新手,我想知道如何在警报中嵌入“if”语句。具体来说,我正在处理一个表单,我希望在用户单击“提交”后显示的警报显示不同的消息,具体取决于用户输入的哪些元素有问题(如果有的话)。我知道我可以反过来做(即使用一系列if语句来确定要显示的警报),但我希望能够在警报代码本身中使用“if / else”。谢谢!
答案 0 :(得分:3)
您不想使用提醒。它专门用于通知用户发生了某些事情,并且您无法从中获得准确的反馈。您应该使用的是提示或确认。使用确认代码将允许您确定用户是单击确定还是取消。虽然这是非常有限的,但它仍然以类似于您正在寻找的方式运行。例如
var r=confirm("Press a button");
if (r==true)
{
x="You pressed OK!";
}
else
{
x="You pressed Cancel!";
}
使用提示代码将允许用户输入一个值,然后您可以将该值附加到变量并使用逻辑,例如
var person=prompt("Please enter your name","Harry Potter");
if (person!=null)
{
x="Hello " + person + "! How are you today?";
document.getElementById("demo").innerHTML=x;
}
提示功能的标准语法是
prompt("This text will appear in the alert box","This is the default value");
我的来源以及其他信息可在W3schools
上找到编辑 - 我忘了提到,如果他们使用的是你在javascript中创建的表单,那么运行一个简单的if / else语句可以更容易,该语句检查他们输入的所有值是否都是在允许它们继续之前,不为null并具有正确的数据类型。我猜想,如果你使用if来确认有效性,而不是缺乏有效性,那么让其他人保持警惕。
答案 1 :(得分:0)
您可以编写类似
的内容alert(condition ? "Text if true": "text if false");
但它不是最易读的代码。
的注释选项alert(getAlertMessage(anyNeededValue));
或
if (cond) {
alert("true");
} else {
alert("false");
}
听起来更好。但如果你真的热衷于“如果在警报中”,那么你有一个内联函数:
alert((function(){
if (cond) { return "Text when true";}
else {return "Text when false");})());
答案 2 :(得分:0)
alert
将字符串作为输入。哪个可以来自变量。
var message;
if ("condition1") {
message = "message1";
} else if ("condition2") {
message = "message2";
} else if ("condition3") {
message = "message3";
}
alert(message);
不幸的是if
是一个声明,不能直接用作参数。但是你可以使用三元运算符,这是一个表达式。
alert(if ("this") { "won't" } else { "work"} );
alert('but' ? 'this' : 'will');
这也是可能的,尽管我从未见过它:
alert(
('condition1') ?
'result1' :
('condition2') ?
'result2' :
'result3'
);
答案 3 :(得分:0)
使用变量:
msg = "";
if (…)
msg = "error 1";
else if (…)
msg = "error 2";
[…]
if (msg.length)
alert(msg);
我希望能够在警告
代码调用中使用“if / else”
您可以使用conditional operator,这基本上是一个else - 如果在表达式中 - 这意味着整个表达式可以作为参数传递:
alert( /* condition */ ? "error 1" : "everything is fine" );