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