当所有按钮都具有相同值时,如何检查单击了哪个按钮

时间:2015-08-31 21:21:59

标签: javascript html jsp

我尝试根据以下代码创建按钮列表:

for(int ii=0;ii<SomeList.size();ii=ii+4)
{
 %>
  <input type="button" 
   onClick="javascript:void window.open(
     'open some page','1440961293929',
     'width=100,height=100,toolbar=0,menubar=0,location=0,status=1,
     scrollbars=1,resizable=1,left=0,top=0'
    );return false;" 
   value="Save" >
<%
}

并检查点击了哪个。通常我可以使用request.getparameter("name")并获取按钮的值。如果在我的情况下每个按钮具有相同的值(保存),如何获取按钮的名称值(或获取一些id被点击的按钮)?

3 个答案:

答案 0 :(得分:0)

您的问题有很多方法。

  1. 最直接的方法是为每个按钮分配唯一的ID。
  2. 另一种方法是使用jQuery事件处理程序,如下所示:

    <input type="button" 
      onClick="javascript:void window.open(
      'open some page','1440961293929',
      'width=100,height=100,toolbar=0,menubar=0,location=0,status=1,
      scrollbars=1,resizable=1,left=0,top=0'
     );return false;" 
     value="Save" class="myButton" >
    
    $('.myButton').on('click', function(){
        $(this).addClass("myButtonClicked");
        // Do the desired operations the clicked button
           ....
        // desired operations end
        $(this).removeClass("myButtonClicked");
    });
    
  3. 这里我们向组的所有按钮添加一个类,并向该类添加一个事件监听器。单击此类的任何按钮时,将触发click事件侦听器。然后我们可以在函数内部使用this变量引用访问单击的按钮。

    在任何时候,$('.myButtonClicked')都会引用最后点击的按钮。

    使用JSFiddle here

答案 1 :(得分:0)

您可以使用button元素而不是input元素:

for(int ii=0;ii<SomeList.size();ii=ii+4)
{
 %>
 <button name="name" onclick="javascript:void window.open('open some page','1440961293929','width=100,height=100,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=1,left=0,top=0');return true;" value="button<%=ii%>">Save</button>
<%
}

这样每个按钮值都会不同,所有按钮标题仍然是“保存”

答案 2 :(得分:0)

give all buttons a name and id while creating them process them like:

for(var ii=0;ii<5;ii+=1)
{
  document.write('<input type="button"    onClick="javascript:alert(this.name);void(0);" value="Save" id="'+ii+'" name ="button'+ii+'"/>');

}


or 
-your code-

for(int ii=0;ii<SomeList.size();ii=ii+4)
{
 %>
  <input type="button" 
   onClick="javascript:void window.open(
     'open some page','1440961293929',
     'width=100,height=100,toolbar=0,menubar=0,location=0,status=1,
     scrollbars=1,resizable=1,left=0,top=0'
    );return false;" 
   value="Save" name="button<%=ii%>" id="button<%=ii%>">
<%
}