如何从HTML select标记中调用click事件

时间:2015-11-26 01:49:51

标签: php html5

我有一个名为' dump'的提交按钮。我想从文档中删除它,因为如果用户忘记单击它,它会破坏两个表。相反,我想做的就是把它放在onchange事件中:

<select class="form-control" id="groupid" name="groupid" onchange="this.form.submit(); '<?php echo $_POST["dump"] ?>'">

但这不起作用。也许我做错了。 如何触发转储按钮的点击事件

if($_POST['dump']) { ... }

当groupid选择框发生变化时:

onchange="this.form.submit();"

被称为?如何以编程方式完成,以便我可以删除转储按钮的文档?

3 个答案:

答案 0 :(得分:1)

我认为您的提交按钮名为“提交”。因此,form.submit指的是按钮而不是方法。重命名按钮或将其删除。

<强>顺便说一句

  

作为一般规则,当控件更改时自动提交表单是a   从可用性和可访问性的角度来看,这真的很糟糕。看到   WCAG - F36: Failure of Success Criterion 3.2.2 due to automatically submitting a form and presenting new content without prior warning when the last field in the form is given a valueWCAG - G13: Describing what will happen before a change to a form control that causes a change of context to occur is made

示例:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form method="post" id="myform">
  <select class="form-control" id="groupid" name="groupid">
    <option name="name" value="0">0</option>
    <option name="name" value="1">1</option>
  </select>
  <input type="submit" id="dump" name="dump" value="Dump" class="btn btn-danger">
</form>

<script>
  $(function() {

    $("#groupid").on('change', function(e) {
      $('#dump').trigger('click'); //trigger Dump click event
    });
    $('#dump').on('click', function(e) {
      e.preventDefault(); //prevent submit action
      console.log('Dump button click event call')
      $(this).attr('value', 'Dump button click event call')
    });

  });
</script>

答案 1 :(得分:1)

简单地:

1)在转储按钮上使用hidden="hidden" attriute

2)在你希望事件触发后更改的地方使用onchange="document.getElementById('dump').click();"属性,然后点击转储时应该执行的操作将在onchange上触发,在那里添加onchange事件。

答案 2 :(得分:0)

正如你解释的那样,我认为你想要的就是隐藏按钮,

使用style =&#39; visibility:hidden&#39;转储(提交按钮)