天天看點

python測試開發django-182.jQuery重置form表單

前言

在頁面上彈出添加的模态框,添加完成後,下次繼續添加,此時需要重置 form 表單。

form 表單内容

模态框内容

<div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" id="addModal">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="myModalLabel">新增項目</h4>
            </div>
            <div class="modal-body">
                <form class="form-horizontal" id="add-model-form">
                    <div class="form-group">
                        <label for="project_name" class="col-sm-3 col-md-3 control-label">項目名稱:</label>
                        <div class="col-sm-8 col-md-8">
                            <input type="text" name="project_name" class="form-control" id="project_name">
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="publish_app" class="col-sm-3 col-md-3 control-label" >所屬應用:</label>
                        <div class="col-sm-8 col-md-8">
                            <input type="text" name="publish_app" class="form-control" id="publish_app">
                        </div>
                    </div>
                     <div class="form-group">
                        <label for="responsible_name" class="col-sm-3 col-md-3 control-label">負責人員:</label>
                        <div class="col-sm-8 col-md-8">
                            <input type="text" name="responsible_name" class="form-control" id="responsible_name">
                        </div>
                    </div>
                     <div class="form-group">
                        <label for="test_user" class="col-sm-3 col-md-3 control-label">測試人員:</label>
                        <div class="col-sm-8 col-md-8">
                            <input type="text" name="test_user" class="form-control" id="test_user">
                        </div>
                    </div>

                    <div class="form-group">
                        <label for="project_desc" class="col-sm-3 col-md-3 control-label" >項目描述:</label>
                        <div class="col-sm-8 col-md-8">
                            <textarea type="text" name="project_desc" class="form-control" id="project_desc"></textarea>
                        </div>
                    </div>
                </form>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-success" id="add_edit">儲存</button>
                <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
            </div>
        </div>
    </div>
</div>
           

顯示效果

python測試開發django-182.jQuery重置form表單

輸入内容儲存成功後,再幾次點添加彈出模态框,還會記錄上次輸入的内容

python測試開發django-182.jQuery重置form表單

期望儲存成功後,重置form表單的内容

重置 form 表單

js 重置表單的方法

document.getElementById("add-model-form").reset();
           

ajax 送出成功後在success裡面寫重置form表單

// ajax 部分代碼
      success: function (data) {
                if (data.code == 0) {
                    // 修改成功,收回模态框,重新整理表格
                    $("#addModal").modal('hide');
                    document.getElementById("add-model-form").reset();
                }
              }
           

jquery 重置 form 的方法,$("#form_id")擷取的是數組,是以需要取出數組的第一項。

$("#add-model-form")[0].reset();
           

直接使用

$("#form_id").reset();

是不會生效的

清空 form 表單

清空form表單

$(':input','#form_id')
    .not(':button, :submit, :reset, :hidden')
    .val('')
    .removeAttr('checked')
    .removeAttr('selected');
           

重置和清空不一樣,如果輸入框有預設值,value="悠悠"

<input type="text" value="悠悠">
           

使用.reset()方法會重置輸入框的值為"悠悠"

清空後,輸入框的值為空value=""