根据按下的按钮更改表单方法

时间:2017-09-17 16:06:31

标签: javascript html forms

我有一个包含过滤器和表格的表单,其中包含用于不同"批量"的复选框。动作。批量操作应该通过POST,过滤器发布 - GET guery。我不能使用2种不同的形式,也不想使用AJAX发布动作/过滤器,因此我决定根据按下的按钮更改METHOT属性的形式。

$('button.filter').click(function(){
    $(this).closest('form').attr('method', 'get');
});

基本上它起作用,至少在Opera中是这样。我只是想知道这种方法是否正确?还有其他解决方案吗?

UPD:我决定简单模仿GET请求。看起来不那么讨厌

$('thead :submit').click(function () {
    var params = $(this).closest('thead').find(':input[name]').filter(function () {
        return this.value !== "";
    }).serialize();

    if(params){
        window.location = window.location.href.split('?')[0] + '?' + params;
    }
    return false;
});

1 个答案:

答案 0 :(得分:1)

如果您不想使用jQuery,可以使用纯JavaScript:

document.getElementById("form").method = "post";