使用“如果/ else"OnClick

Using "if/else" with OnClick

本文关键字:quot OnClick else 如果 使用      更新时间:2023-09-26

首先,是否可以直接在html中使用onclick属性编写if/else语句?如果是这样,为什么我的代码不工作?

这是一个按钮。"Calc.Input。value"指的是文本输入,如果该字段为0或空白,我希望显示一条错误消息。在所有其他情况下,我希望发生一些其他的事情,正如你所看到的。这是不相关的,因为"else"之后的所有内容之前都工作得很好。

<INPUT TYPE="button" NAME="drop" id="dropbutton" style="background-color:#D1E8D5;" VALUE="
Släpp ankare " OnClick="if ("Calc.Input.value == ''" || "Calc.Input.value == '0'")
{window.alert("Please enter a number");} else 
{document.getElementById('dropbutton').value=' Justera 
längd ';document.getElementById('length').innerHTML =
Calc.Input.value;document.getElementById('dropbutton').style.cssText = 'background-
color:#FFF6B3;';}">

只是不要放在onclick属性中。

使用

<INPUT TYPE="button" NAME="drop" id="dropbutton" style="background-color:#D1E8D5;" VALUE="Släpp ankare ">
<script>
document.getElementById('dropbutton').onclick = function() {
    if (Calc.Input.value == '' || Calc.Input.value == '0') {
         window.alert("Please enter a number");
    } else {
        document.getElementById('dropbutton').value=' Justera längd ';
        document.getElementById('length').innerHTML = Calc.Input.value;
        document.getElementById('dropbutton').style.backgroundColor = '#FFF6B3';
    }
    return false;
}
</script>

你的代码不工作的原因是因为你需要转义你的"引号,否则它将被解释为HTML属性符号。

和我同意其他人,这是一个坏的做法,写你的JavaScript内联在你的HTML。

sweetamylase的回复是最好的,但您也可以考虑:

如果你的onclick=赋值是用双引号括起来的(onclick="…")然后尝试在这些双引号内只使用单引号字符(反之亦然)。

当你需要动态地插入元素时给onclick事件赋值,而使用单独的脚本函数并不是一个好的选择时,这可以使事情变得更容易。

的例子:

<button onclick="alert('Do this'+' and that')">Press This</button>

嗯,但是像这样呢:

<a href="#" onclick="if (a_function_to_get_language() == 'en') {
    alert('Some message');
}
else {
    alert('Some message in a different language');
}">Action</a>

  • 导航页提示
  •            <script>
                  function myFunction() {
                alert("You Are Not Signed In!");
                       }
                     </script>