关于。单击提交按钮后提交和重新加载表单值的问题

时间:2011-07-13 13:55:09

标签: javascript jquery

我正在使用jQuery 1.4.3并且有一个新手问题。

在下面的.submit函数中,我在单击提交按钮后获取facilityCodes下拉列表中所选选项的值,然后在提交功能期间,再次在下拉列表中选择facilityCode,然后禁用列表,用户无法更改它。但是,情况是当我在单击提交按钮后重新加载页面时,下拉列表默认为第一个选项并且列表已启用。我显然不明白.submit如何工作,所以我选择了我在我的代码中定义的选项,然后在页面重新加载后禁用列表。我的问题是我做错了什么?我使用了错误的事件吗?

非常感谢任何帮助/方向。谢谢。

这是我的代码:

    $(function() {
        $("#ARTransferForm").submit(function() {
            var msgsCount = 0;

            var facilityCodeValue = $("#ARTransferForm\\:facilityCodes option:selected").val();
alert("facilityCodeValue = " + facilityCodeValue);
            if (facilityCodeValue == 0) {
                alert("To Facility Code must be selected");
                msgsCount++;
            } else {
                $('select[id$=facilityCodes]').val(facilityCodeValue);
                $("#ARTransferForm\\:facilityCodes").attr("disabled", "disabled");
            }
                });
}); 

2 个答案:

答案 0 :(得分:0)

刷新页面将删除在页面刷新之前使用JavaScript完成的所有操作。如果您希望通过页面重新加载来保留状态,则需要使用服务器端代码或设置cookie。

答案 1 :(得分:0)

当表单即将发布时,将在当前页面上调用submit事件。您需要传递在表单加载上检查的值(隐藏字段),您可以检查该值以确定是否应禁用该列表。

更新

在页面加载时,您需要检查这是否是在帖子中设置了隐藏字段id =“disable_select”的重新发布。如果是,那么您将禁用该表单。

$(function(){
    if ($('#disable_select').val() == '1') {
        $("#ARTransferForm\\:facilityCodes").attr("disabled", "disabled");
    }
});