如何强制对复选框(表单内)或下拉菜单选项进行任何更改以使浏览器发出HTTP POST?
带宽不是问题,页面重新加载不是问题,我不想采用完整的AJAX路线。
我真正想要的是当用户点击复选框(或从下拉菜单中选择某些内容)等时完成HTTP POST,而用户无需在更改后点击“提交”。
也许应该在客户端使用一些JavaScript来完成? (我无法成功谷歌任何事情)
答案 0 :(得分:2)
使用Javascript。将onchange="document.getElementById('myFormId').submit()"
添加到元素中,或以编程方式执行此操作。 myFormId
必须替换为form
元素的HTML ID。
答案 1 :(得分:1)
AFIK在没有客户端脚本的情况下无法完成。最简单的方法是为每个表单更改触发submit
事件。使用jQuery,它完成了以下代码:
<script type="text/javascript">
$(function() {
$("input[type=checkbox],input[type=radio],select").change(
function(evt)){evt.target.form.submit();}
);
});
</script>
如果您不使用jQuery,则必须编写一些样板事件处理代码。有关JavaScript事件处理的详细信息,请参阅this introduction。
答案 2 :(得分:1)
您可以使用JavaScript onchange事件然后调用表单上的submit()函数。
答案 3 :(得分:1)
如果你已经设置了一个表单,只需将一个类放到你想用作触发器的元素上,然后 选择
$(".classname").change(function(){
$("#formid").submit();
});
表示复选框/收音机
$(".classname").click(function(){
$("#formid").submit();
});