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 に投稿し、その 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 に答える