刷新或重新加载页面后Javascript代码未运行

时间:2013-06-19 20:46:26

标签: javascript checkbox reload checked

我有一个javascript代码,无论何时选中复选框,都会重新加载当前页面,然后应该将某些输入字段变灰。

但是,只有在重新加载页面时才进行重新加载,输入字段永远不会显示为灰色。

$(document).ready(function(){
    $("#storePickUp").on("click", function () {
if ($(this).is(":checked")) {
document.getElementById("shippingForm").submit();   
document.getElementById("shippingAdress").disabled = true;
document.getElementById("shippingState").disabled = true;
document.getElementById("shippingCity").disabled = true;
document.getElementById("shippingZip").disabled = true;
document.getElementById("shippingZipCode").disabled = true;
document.getElementById("shippingButton").disabled = true;
}
});
    });

3 个答案:

答案 0 :(得分:1)

所以在您调用.submit()的第4行的代码中...除非您在页面上有一些额外的魔法,否则您将无法显示,此行将继续发布/获取您的表单到任何网址已经以该形式配置。

这意味着下面的行根本不重要,因为它们不会在表单目标页面上执行。

如果您确实需要中间的表单帖子,那么您需要发布到特定的URL并使用该URL作为页面加载的触发器来禁用这些元素。不是直接点击后,而是在新加载的页面上,这是表格的目标......有意义吗?

答案 1 :(得分:0)

我认为这是因为它只会在您点击#storePickUp时禁用它们,但如果您的网页重新加载则会重置。

答案 2 :(得分:0)

执行方法submit,页面重新加载,永远不会执行submit之后的代码。即使执行该代码,页面刷新也会使任何更改无效。

您应该使用ajax提交,而不是使用submit方法提交。如果您使用的是jQuery,它将使您轻松:

http://api.jquery.com/category/ajax/