使用按钮的值模拟按钮点击,而不是它的ID?

时间:2011-08-19 12:12:23

标签: javascript button click

我想使用按钮的值来模拟按钮点击,而不是其ID。

以下是使用按钮ID

的代码
<input type="checkbox" onClick="document.getElementById('theSubmitButton').click();">Check the box to simulate a button click
<br>
<input type="button" name="theSubmitButton" id="theSubmitButton" value="Button" onClick="alert('The button was clicked.');">

我尝试了getElementByValue('Button'),但它没有用。

3 个答案:

答案 0 :(得分:4)

以下是我使用jQuery的方法:

http://jsfiddle.net/skilldrick/R27rQ/1/

$('input[type=checkbox]').click(function () {
    $('input[value=Button]').click();
}); 

但正如Senad所说,ID更适合这种类型的东西。

答案 1 :(得分:1)

    function clickButton(val)
    {
    var buttons = document.getElementsByTagName('input');
      for(var i = 0; i < buttons.length; i++) 
      {
         if(buttons[i].type == 'button' && buttons[i].value == val) 
         {
              buttons[i].click();
              break; //this will exit for loop, but if you want to click every button with the value button then comment this line
         }
      }
}

这是解决方案......

<强> HTML

<input type="checkbox" onClick="clickButton('Button');">Check the box to simulate a button click

但最好通过ID找到元素

答案 2 :(得分:1)

<script type="text/javascript">
    function getButtonByValue(value) {
        var els = document.getElementsByTagName('input');

        for (var i = 0, length = els.length; i < length; i++) {
            var el = els[i];

            if (el.type.toLowerCase() == 'button' && el.value.toLowerCase() == value.toLowerCase()) {
                return el;
                break;
            }
        }
    }
</script>    
<input type="checkbox" onClick="getButtonByValue('Button').click();">Check the box to simulate a button click
<br>
<input type="button" name="theSubmitButton" id="theSubmitButton" value="Button" onClick="alert('The button was clicked.');">

jsfiddle example