我有一个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;
}
});
});
答案 0 :(得分:1)
所以在您调用.submit()的第4行的代码中...除非您在页面上有一些额外的魔法,否则您将无法显示,此行将继续发布/获取您的表单到任何网址已经以该形式配置。
这意味着下面的行根本不重要,因为它们不会在表单目标页面上执行。
如果您确实需要中间的表单帖子,那么您需要发布到特定的URL并使用该URL作为页面加载的触发器来禁用这些元素。不是直接点击后,而是在新加载的页面上,这是表格的目标......有意义吗?
答案 1 :(得分:0)
我认为这是因为它只会在您点击#storePickUp时禁用它们,但如果您的网页重新加载则会重置。
答案 2 :(得分:0)
执行方法submit
,页面重新加载,永远不会执行submit
之后的代码。即使执行该代码,页面刷新也会使任何更改无效。
您应该使用ajax
提交,而不是使用submit
方法提交。如果您使用的是jQuery,它将使您轻松: