0

我有一个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;
}
});
    });
4

3 回答 3

1

因此,在您调用 .submit() 的第 4 行代码中...那个表格。

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

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

于 2013-06-19T20:53:29.820 回答
0

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

于 2013-06-19T20:52:38.893 回答
0

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

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

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

于 2013-06-19T20:52:47.607 回答