0

ページのすべてのフィールドをクリアしようとしていますが、リセット ボタンは必要ありません。F5を押したり、リフレッシュしたりしてもらいたいだけです。

私はこれを使用しようとしています...

<body onload="MM_preloadImages('../images/PrintButtonWhite.png'); document.CourseMenu.reset();">

チェックボックス、ドロップダウン メニュー、およびテキスト ボックスのフォーム全体をクリアします。動いていない。

これも試してみました...

<script type="text/javascript">document.CourseMenu.reset();</script>

何か案は?

4

2 に答える 2

0

Util オブジェクトがあるとします。これを行ったのは、簡単なhtmlコントロールだけでなく、datepickerとboostrapスイッチも使用しているため、手動で行う必要があるためです。私はすべての余分なコードを削除し、基本的に作業できるようにします。これにより、何をリセットするかを完全に制御できます。フォームではなく、contair 値を送信することもでき、<div>テストされていないように動作すると思います。

-- 編集 -- Util.resetForm($("#myid")); のようにコンティナーを送信できます。formそれかそれ以外かを気にせずにspecial tag

これで始めることができます... onload メソッドで関数を使用するだけです

自分で試してみてください:http://jsfiddle.net/ncubica/DGMAC/

function reset(objectHTML) {
    objectHTML.find("input, textarea,select").not("input[type=submit]").each(function (_index, _item) {
        //field is going to evalute ?        
        if (typeof $(_item).attr("data-ignore") === "undefined") {             
            switch(_item.type){
                case "text":
                    $(_item).val("");
                    break;
                case "checkbox":
                    $(_item).removeAttr("checked");                    
                    break;
                case "select":
                    $(_item).prop("selectedIndex", -1);                    
                    break;
            }
        }
    });
};

$("#test").one("click",function(){
  reset($("#myform"))
});

タグ data-ignore="ignore" を追加して、スクリプトが値をリセットしないようにすることができます。これは、一部の選択のインデックスを失いたくない場合に役立ちます。

select何も選択せずにこのスクリプトを実行すると、すべてのタグが空白で表示されます。

//これはスイッチで改善できます..しかし、私はそれがどのように機能するかを示しているだけです..

于 2013-07-19T20:41:40.833 に答える
0

CourseMenuのIDですかform?もしそうなら、これを試してください:

document.getElementById('CourseMenu').reset();
于 2013-07-19T20:23:16.090 に答える