33

フォーム内に 2 つのチェックボックスがあり、両方のチェックボックスがform.

そのうちの 1 つにform属性を追加しましたautocomplete="off"
以下はコードスニペットです

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head></head>
    <body>
        <form name="chkBoxForm" >
            <div>
                <input type="checkbox" value="100" name="product"/>My Checkbox1
            </div>
        </form>
        <form name="chkBoxForm" autocomplete="off">
            <div>
                <input type="checkbox" value="200" name="product"/>My Checkbox2                         
            </div>
        </form>
    </body>
</html>

ここで私の問題は、これらのチェックボックスを手動でチェックF5し、 を押すと、属性のチェックボックスautocomplete="off"がオフになります。ただし、その属性を持たないチェックボックスはチェックされたままです。これは FireFox 22 で発生します。

この動作は、ブラウザによって異なります。
IE では両方のチェックボックスがオンのままで、Chrome では両方のチェックボックスがオフになっています。

しかし、アドレス バーで Enter キーを押すと、すべてのブラウザでチェックが外されます。

を押したときに常にこれらのチェックボックスをオフにする方法を教えてもらえますかF5?
これはJavascriptで処理できることを認識しています。

これを処理する他のhtml方法はありますか?

4

7 に答える 7

25

いいえ、単純な HTML では方法がありません。現時点では、Javascript が唯一の解決策かもしれません。

JavaScript のすべての入力をループし、それらが実際にチェックボックスであるかどうかを確認し、オフに設定します。

var inputs = document.getElementsByTagName('input');

for (var i=0; i<inputs.length; i++)  {
  if (inputs[i].type == 'checkbox')   {
    inputs[i].checked = false;
  }
}

それを onload リスナーにまとめれば、問題ないはずです :)

于 2013-07-19T09:37:32.807 に答える
7

id を持つチェックボックスがある場合は、checkbox_id.You を使用して JS でその状態を設定できますprop('checked', false)またはprop('checked', true)

 $('#checkbox_id').prop('checked', false);
于 2017-05-10T21:28:46.883 に答える
2

これはブラウザー固有の動作であり、フォームへの入力をユーザーにとってより便利にする方法です (エラーが発生したときにページをリロードし、入力した内容を失わないようにするなど)。そのため、javascript を使用してページの読み込み時にデフォルト値を設定する以外に、ブラウザ間でこれを無効にする確実な方法はありません。

ただし、ヘッダーを指定すると、Firefox はこの機能を無効にしているようです。

Cache-Control: no-store

この質問を参照してください。

于 2013-07-19T09:45:02.087 に答える
-4

check="false" を使用できると思います。これは、チェックボックスをオフのままにする HTML の方法です。http://www.w3schools.com/jsref/dom_obj_checkbox.aspを参照できます。

于 2014-04-21T12:06:10.813 に答える