1

特定の入力テキストを持つフォームを作成します。それらのすべてには、独自のリセット値があります。たとえば..。

<input type="text" 
       name="<?php echo $row['FieldName'];?>"
       id="<?php echo $row['FieldName'];?>" 
       class="required" 
       style="font:12px Verdana ; width:250px;" 
       value="<?php echo $row2[$nameROW]?>" />
<?php }

したがって、通常のRESET機能を使用すると、フォームがクリアされません。そのリセット値のためにすでに設定されています...

では、どうすればフォームをリセットせずに完全にクリアできますか?

4

4 に答える 4

1

フィールドが初期値にリセットされないようにする場合は、実際にすべての入力フィールド、テキストフィールド、および選択要素を循環し、それらの値を個別に空の文字列に設定し、プロパティをfalseにチェックする必要があります。

これがオンラインでどのように見えるかの例をhttp://www.electrictoolbox.com/javascript-clear-form/で見ることができます。または、jQueryソリューション(もう少し簡潔です)がhttp:/でどのように見えるかを見ることができます。 /www.electrictoolbox.com/jquery-clear-form/

于 2012-05-17T03:39:45.460 に答える
1

これは使いやすい(純粋なjs)関数であり、IDまたは名前で任意のフォームをリセットするために使用できます。

// License: WTFPL
function clearForm(id)
{
    // find form by its id or name
    var form = document.getElementById(id) || document[id] || id;

    // cycle through elements
    for (var i = 0, item; item = form.elements[i]; ++i) {
        switch (item.type) {
            case 'select-one':
                item.selectedIndex = 0;
                break;

            case 'select-multiple':
                for (var j = 0, option; option = item.options[j]; ++j) {
                    option.selected = false;
                }
                break;

            case 'checkbox':
            case 'radio':
                item.checked = false;
                break;

            default:
                item.value = '';
        }
    }​​​​​​
}

それを呼び出すには:

clearForm('id or name of your form');
于 2012-05-17T04:51:51.823 に答える
0

ジョナサンは正しいですが、不完全です。完全な解決策は次のとおりです。

for ( i = 0; i < document.myForm.elements.length; i++ )
  document.myForm.elements[i].fieldName.value = "";

さらにサポートが必要な場合はお知らせください。これにより、フォーム内のすべてのアイテムが繰り返され、空白になります。さらにサポートが必要な場合はお知らせください。

于 2012-05-17T03:47:34.027 に答える
0

次のjQueryを使用して、指定したフィールドを空白に設定します。

$("#btn_reset").click(function(){
     $("input:text[id=xxx]").val("");
});

次のjQueryを使用して、すべてのフィールド値を空白に設定します。

$("#btn_reset").click(function(){
    $(":input").val("");
});

上記の例では、#btn_resetは[リセット]ボタンのIDです。また、上記のスクリプトを、ページの通常の$(document).ready()関数のハンドラー内のスクリプトタグ内に配置する必要があります。もちろん、上記では、ページの上部に最初にjQueryライブラリを含める必要があります。ご不明な点がございましたら、お気軽にお問い合わせください。

動作する完全なHTMLファイルは次のとおりです。

<HTML>
    <HEAD>
        <TITLE></TITLE>
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.pack.js"></script>
    <script type="text/javascript" language="javascript">
        $(document).ready(function() {
            $("#btn_reset").click(function() {
                $("input:text[id=xxx]").val("");
            });
        });
    </script>
    </HEAD>
    <BODY>
        <form>
            <input type="text" name="xxx" id="xxx" value="default"  />
            <input type="button" value="Reset" id="btn_reset" />
        </form>
    </BODY>
</HTML>

ボタンの種類をリセットからボタンに変更する必要があることに注意してください。そうしないと、jQueryが値を設定した後、リセットボタンの動作により、値が不要なデフォルト値に再び設定されます。

于 2012-05-17T03:48:25.310 に答える