如何使用onclick事件处理程序标识元素

时间:2013-02-12 18:09:51

标签: javascript

我想将一个元素的ID发送给函数,以便知道按下它的按钮。

<input type="submit" id="foo" onclick="function(abcxyz)" value="abc" />
<input type="submit" id="foo" onclick="function(xyz)" value="x" />

function(str){
    if(str == abcxyz){
        //do this.
    }
    else if(str == xyz){
        //do that.
    }
}

或者如果可能的话,可以将值abc或x发送给函数。 所以 str = abc str = x。

4 个答案:

答案 0 :(得分:1)

如果我理解你的问题......

  1. 您缺少一个功能名称
  2. 两个输入具有相同的ID
  3. 使用提交类型在您的情况下没有意义
  4. 此任务不需要输入值

    <input type="button" id="foo1" onclick="button_click('1')" />
    <input type="button" id="foo2" onclick="button_click('2')" />`
    
    function button_click(str){
        if(str == '1'){
            alert('Button with id foo1 was pressed');
        }
        else if(str == '2'){
            alert('Button with id foo2 was pressed');
        }
    }
    

答案 1 :(得分:0)

您可以使用answer that you'll find here

基本上写

<input type="submit" onclick="yourFunction(this.id)" id="abc" value="Button abc" />

答案 2 :(得分:0)

您的功能需要一个名称:

尝试:

<script type="text/javascript">
    function whichButton(str){
        if(str == 'abc'){
            alert('abc was clicked');
        }
        else if(str == 'x'){
            alert('str was clicked');
        }
    }
</script>
<input type="submit" id="foo" onclick="whichButton(this.value);" value="abc" />
<input type="submit" id="foo1" onclick="whichButton(this.value);" value="x" />

答案 3 :(得分:0)

作为问题的解决方案,请参阅下面提到的代码段

E.g

  <input type="submit" id="foo" onclick="function(this.value)" value="abc" />
  <input type="submit" id="foo" onclick="function(this.value)" value="x" />

在上面的代码片段中,此对象将引用事件源,即提交按钮