在每个复选框/下拉列表上强制执行POST更改

时间:2012-03-06 14:33:23

标签: javascript html post

如何强制对复选框(表单内)或下拉菜单选项进行任何更改以使浏览器发出HTTP POST?

带宽不是问题,页面重新加载不是问题,我不想采用完整的AJAX路线。

我真正想要的是当用户点击复选框(或从下拉菜单中选择某些内容)等时完成HTTP POST,而用户无需在更改后点击“提交”。

也许应该在客户端使用一些JavaScript来完成? (我无法成功谷歌任何事情)

4 个答案:

答案 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();
});