Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript显示警报消息_Javascript - Fatal编程技术网

使用JavaScript显示警报消息

使用JavaScript显示警报消息,javascript,Javascript,我有这四个按钮,我需要它们显示一条警报消息,这取决于单击哪个按钮。我是编程新手,正在尝试让这个函数工作。但当我点击按钮时,什么也没发生。 我不确定是否没有正确应用onclick事件。我不想在html标记中插入它。 有人能帮我吗?我做错了什么 这是我的html和Js代码: <body> <ul style="list-style-type:none" id="buttons"> <li><input type="b

我有这四个按钮,我需要它们显示一条警报消息,这取决于单击哪个按钮。我是编程新手,正在尝试让这个函数工作。但当我点击按钮时,什么也没发生。 我不确定是否没有正确应用onclick事件。我不想在html标记中插入它。 有人能帮我吗?我做错了什么

这是我的html和Js代码:

<body>
        <ul style="list-style-type:none" id="buttons">
            <li><input type="button" value="English" id="english"/></li>
            <li><input type="button" value="Spanish" id="spanish"/></li>
            <li><input type="button" value="Hebrew" id="hebrew"/></li>
            <li><input type="button" value="French" id="frech"/></li>
        </ul>
        <script language="javascript" type="text/javascript" src="lab6functions.js">

        </script>
    </body>

function buttonClick () {
    if(!document.getElementsByTagName) return false;
    if(!document.getElementById) return false;
    //store buttons in variable buttonsList
    var buttonsList = document.getElementsByTagName("input");
            //iterate through all elements of buttonList
            for (var i = 0; i<buttonsList.length; i++) {
            //store each element to the variable buttons and get each individual id for each button
                var buttons = buttonsList[i].getElementById("id");
                //when a button is clicked, display the alert box with the message corresponding to each language
                switch(buttons) {
                case "english":
                alert("Hello! How are you?");
                break;
                case "spanish":
                alert("Hola! Como estas?");
                break;
                case "hebrew":
                alert("Shalom!");
                break;
                case "french":
                alert("Bonjour!");
                break;
                default:
                alert("Please select a language");
            }
            buttons.onclick = buttonClick();
        }
    }

功能按钮单击(){ 如果(!document.getElementsByTagName)返回false; 如果(!document.getElementById)返回false; //在变量按钮列表中存储按钮 var buttonsList=document.getElementsByTagName(“输入”); //遍历buttonList的所有元素
对于(var i=0;i您已经编写了一个函数buttonClick(),但它没有被调用

我建议你试试这样的

输入type=“button”value=“English”id=“English”onclick=“buttonClick()”

参考:

希望这能有所帮助!!
谢谢

我认为简单的方法是在每个按钮上添加onclick

范例

<input type="button" value="English" id="english" onclick="alert('Hello! How are you?');"/>


您还可以通过this调用一个公共函数,然后进行检查。

这里有您需要的()

//单击其中一个按钮时,将执行此函数
功能按钮点击(e){
var输入=e.目标;
//针对不同按钮发出不同消息警报
开关(input.getAttribute('id')){
案例“英语”:
警惕(“你好!你好吗?”);
打破
“西班牙语”一案:
警报(“你好!我是谁?”);
打破
“希伯来语”一案:
警惕(“沙洛姆!”);
打破
案例“frech”:
警惕(“你好!”);
打破
违约:
警报(“意外按下按钮……我不知道该说什么”);
}
}
//在变量按钮列表中存储按钮
var buttonsList=document.getElementsByTagName(“输入”);
//迭代buttonList的所有元素,如果它们是按钮,则附加事件处理程序(并非所有输入元素都是按钮)

对于(var i=0;i我看到了您的问题,并为您找到了一个简单的解决方案,因为您是编程新手。因此,请仔细阅读,您将了解所有内容。如下面的示例所示,您希望获得单击的按钮,并根据该按钮,您希望提醒不同的消息。您可以使用jQuery轻松做到这一点

在这里查看您想要的结果


$(文档).ready(函数(){ $('input:button')。单击(函数(){ var按钮=$(this.val(); 警报(“您已单击按钮”+按钮); 开关(按钮){ 案例“英语”: 警惕(“你好,你好吗?”); 打破 “西班牙语”一案: 警报(“你好!我是谁?”); 打破 “希伯来语”一案: 警惕(“沙洛姆!”); 打破 “法语”一案: 警惕(“你好!”); 打破 违约: 警告(“请选择一种语言”); } }); });
另外,您还希望得到点击输入类型是按钮,然后您可以使用相同的

var buttonsList = document.getElementsByTagName("input");
  for (var i = 0; i<buttonsList.length; i++) {
    var input=buttonsList[i];
    if (input.getAttribute('type')=='button') {
        //write your function whatever you want.
    }
}
var buttonsList=document.getElementsByTagName(“输入”);

对于(var i=0;i您还没有做任何事情来实际将
buttonClick
函数连接到那些HTML元素的
click
事件。他做了(最后一行,buttons.onclick=buttonClick();)但是在函数内部。尝试将这一行从这个函数移到外部谢谢@webdev dan,我知道我缺少了一些可以针对特定元素的内容。我不明白当您使用target时函数的第二行是什么,在swtich情况下是否有特定的原因您使用了完整表达式来访问元素,但没有t创建一个变量,然后将该变量作为开关表达式传递?使用哪一个(表达式或变量)没有区别。通常,当您使用一个变量来分配由较长表达式返回的某些对象时,这是因为您需要多次使用它(因此,您将编写更少的代码并提高执行速度,因为当您将表达式赋给变量时,只会对其求值一次)…并且它使代码更可读-但在本例中,
input.getAttribute('id')
显然可读;)在这一行中,您询问:
e
是一个“事件对象”由系统传递给处理程序函数。
target
事件对象的参数包含触发此事件的元素-在本例中,它是按钮之一。获得了。感谢帮助。耶
input.getAttribute('id'))
清晰易读。使用
e
可以用任何其他字符替换它,只要我在函数中传递与参数相同的字符吗?是-字符或更多字符-与变量名称相同这是您的选择如何命名函数参数谢谢,我已经想到了,但不想使用事件处理程序那样。这不是最好的练习。这是我想避免做的
<body>
    <ul style="list-style-type:none" id="buttons">
        <li>
            <input type="button" value="English" id="english" />
        </li>
        <li>
            <input type="button" value="Spanish" id="spanish" />
        </li>
        <li>
            <input type="button" value="Hebrew" id="hebrew" />
        </li>
        <li>
            <input type="button" value="French" id="frech" />
        </li>
    </ul>
    </body>

    $(document).ready(function() {
       $('input:button').click(function() {
          var buttons = $(this).val();
          alert("You have clicked on button "+buttons);
          switch(buttons){
             case "English":
                 alert("Hello ,how are you ?");
             break;
             case "Spanish":
                 alert("Hola! Como estas?");
                 break;
             case "Hebrew":
                 alert("Shalom!");
                 break;
             case "French":
                 alert("Bonjour!");
                break;
             default:
                 alert("Please select a language");
         }
       });
   });
var buttonsList = document.getElementsByTagName("input");
  for (var i = 0; i<buttonsList.length; i++) {
    var input=buttonsList[i];
    if (input.getAttribute('type')=='button') {
        //write your function whatever you want.
    }
}