2

我有一个带有复选框和 2 个选择框的表单。我有一个 javacript/jQuery 函数,一旦选中复选框,就会禁用选择框:

function disable(id) {
    if($("#checkbox"+id).is(':checked')){
        $("#selectbox1"+id).prop('disabled',true);
        $("#selectbox2"+id).prop('disabled',true);
    }
    else {
        $("#selectbox1"+id).prop('disabled',false);
        $("#selectbox2"+id).prop('disabled',false);
    }
}

一切运作良好。但是,当我选中复选框并提交表单时,请求被标记为“黑洞”但是,此功能唯一改变的是在<select>标签中添加“禁用”。

有人知道如何解决这个问题吗?

4

1 回答 1

2

禁用的输入不在 POST 数据中

因此,从服务器的角度来看,选择性地将输入标记为禁用与选择性地将其从表单中删除是相同的——这将被检测为表单篡改。

可能的解决方案

要么不要禁用该选择,要么使用unlockField以允许使用 javascript 操作选择。

于 2014-05-04T10:36:14.553 回答