在OnClick上使用“if / else”

时间:2013-03-12 19:36:18

标签: javascript button onclick if-statement

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

所以这是一个按钮。 “Calc.Input.value”是指文本输入,如果该字段为0或空白,我想显示错误消息。在所有其他情况下,我希望其他一些事情发生,你可以看到。但这并不重要,因为“其他”之后的所有事情都在以前运作良好。

<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;';}">

5 个答案:

答案 0 :(得分:18)

请勿将其放入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>

答案 1 :(得分:4)

您的代码无效的原因是您需要转义"引号,否则它将被解释为HTML属性符号。

我同意其他人的意见,在HTML中内嵌JavaScript是一种不好的做法。

答案 2 :(得分:2)

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

如果您的 onclick = 分配用双引号(onclick =“...”)括起来,那么请尝试仅使用这些双引号内的单引号字符(或反之亦然。)

当您需要在动态插入元素时对onclick事件进行赋值时,这可以使事情变得更容易,并且具有单独的脚本函数并不是一个好的选择。

示例:

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

答案 3 :(得分:1)

嗯,但这样的事情怎么样:

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

答案 4 :(得分:0)

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