我希望能够在点击时更改按钮图像,这不是问题所在。每个按钮对于从数据库中提取的信息是唯一的,单击该按钮应该更改并将相应的信息发送到数据库。我不确定的是如何更改特定按钮。说有五件事,所以五个按钮。每个按钮都有唯一的ID来与其信息一起使用。如何找出id是什么,以便我可以操作按钮?
我使用php从数据库中获取信息并通过while循环将其全部显示出来。一旦全部显示,用户就可以看到,然后他们可以点击按钮。
编辑 - 它刚刚来找我。我可以使我的onclick函数接受一个变量并将变量输入其中。正确?
答案 0 :(得分:2)
实际上是一个简单的技巧。在click上调用一个函数并将其id作为参数传递给它。
<button id="id1" onClick="handleclick(this.id)">Button1</button>
<button id="id2" onClick="handleclick(this.id)">Button2</button>
<script>
function handleclick(id)
{
alert(id); //here is your id
}
</script>
你也可以这样做
buttons = document.getElementsByTagName("button");
for( var x=0; x < buttons.length; x++ ) {
buttons[x].onclick = handleclick;
}
答案 1 :(得分:0)
与Starx相同,但另类风格:
<button id="id1">Button1</button>
<button id="id2">Button2</button>
<script>
function handleclick() {
alert(this.id); //here is your id
}
document.getElementById("id1").onclick = document.getElementById("id2").onclick = handleclick;
</script>
答案 2 :(得分:0)
仅仅是为了争论 - 如何在没有javascript onclicks的情况下实现它,使你的HTML看起来不整洁等等。
在HTML头部或包含文件中添加JavaScript中的事件侦听器,所有这些都包含在文档就绪函数中,因此避免在HTML正文中使用javascript。类似的东西:
window.onload = function(){
for (i=1;i<=10;i++){ //assuming you'll never have more than 10 buttons
var el = document.getElementById('id' + i);
if (el != null){ //set click event handler if button exists
document.getElementById('id' + i).addEventListener('click', handleClick, false);
}else{
break; //stop looking when a button doesn't exist.
}
}
};
你可以使用表单对象而不是getElementById来减少hackishly,但是你希望得到我的观点。