模型窗口窗体不会重置" $ pristine"的值。同时毁灭

时间:2015-09-18 13:25:42

标签: javascript angularjs forms

我正在模型窗口中设计一个angularjs表单,我已经设置了像$ pristine这样的验证来检测表单的变化。我的问题是:如果我在表单字段中进行任何更改并销毁模型窗口表单。当我再次打开它时,会显示之前的更改,例如" $ pristine"值未设置为默认值。我在Google上搜索了更多关于它但没有任何解决方案。

我的代码的一部分是:

<div id="new-contact" class="modal" tabindex="-1" style="z-index: 9999;">
<div class="modal-dialog" style="width: 80%;">
    <form data-editable-form="editable-form" name="contactForm" autocomplete="off" id='contactForm' role='data-editable-form' method="post" novalidate>
        <fieldset>

            <div class=" col-xs-12" ng-class="{'has-error' : contactForm.contacts_type.$invalid && !contactForm.contacts_type.$pristine }">
                <label for="form-field-select-1" style="width: 250px;">
                    <msg key="contacttype" />
                </label>
                <label>
                    <select class="form-control" name="contacts_type" style="border-color: #d5d5d5 !important;" id="form-field-select-tag-type" required data-ng-model="contactContent.type">
                        <option value="" style="display: none;">{{'selectcontacttype'|localize}}</option>
                        <option value="BC">{{'businesscontact'|localize}}</option>
                        <option value="PC">{{'personalcontact'|localize}}</option>
                    </select>
                </label>
            </div>
        </fieldset>
    </form>
</div>

我使用显示/隐藏此窗口:

$("#new-contact").modal('show');
$("#new-contact").modal('hide');

我也试图在控制器上使用隐藏$route. reload ();,但没有任何成功。

任何人请帮助我如何做到这一点..

2 个答案:

答案 0 :(得分:0)

请记住还要重置FORM(联系表格)。

$('#contactForm').trigger('reset');

这是数据实际来自的地方。

答案 1 :(得分:0)

您是否尝试使用hidden.bs.modal event

partial void SaveObject(NSObject sender)
{
    var objectToSave = CreateObjectFromView();
    var dbPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "Test.db3");
    var repo = new ExampleRepository(dbPath);
}