事后得到唯一的身份证?

时间:2012-03-10 00:36:47

标签: php javascript

我希望能够在点击时更改按钮图像,这不是问题所在。每个按钮对于从数据库中提取的信息是唯一的,单击该按钮应该更改并将相应的信息发送到数据库。我不确定的是如何更改特定按钮。说有五件事,所以五个按钮。每个按钮都有唯一的ID来与其信息一起使用。如何找出id是什么,以便我可以操作按钮?

我使用php从数据库中获取信息并通过while循环将其全部显示出来。一旦全部显示,用户就可以看到,然后他们可以点击按钮。

编辑 - 它刚刚来找我。我可以使我的onclick函数接受一个变量并将变量输入其中。正确?

3 个答案:

答案 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>

Demo


替代

你也可以这样做

buttons = document.getElementsByTagName("button");
for( var x=0; x < buttons.length; x++ ) {
    buttons[x].onclick = handleclick;
}

Demo 2

答案 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,但是你希望得到我的观点。