我有一个名为' 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();"
被称为?如何以编程方式完成,以便我可以删除转储按钮的文档?
答案 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 value和WCAG - 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;转储(提交按钮)