2013-05-01 3 views
0

Я ищу способ сбросить форму, когда пользователь редактирует значение и нажимает кнопку сброса.Как написать функцию сброса

Моя форма содержит: 2 текстовых поля 4 флажков

значение от этого 6 элементов я сделал в моей модели:

public class MyModel 
    { 
     public MyModel() 
     { 
      Field1 = 8; 
      Checkbox1 = true; 
      Checkbox2 = true; 
      Checkbox3 = true; 
      Checkbox4 = true; 
      Field2 = 1; 
     } 

     [DisplayName("TextField 1")] 
     [Range(4, 64, ErrorMessage = "Test Error")] 
     public int Field1 { get; set; } 

     [DisplayName("CheckBox 1")] 
     public bool Checkbox1 { get; set; } 

     [DisplayName("CheckBox 2")] 
     public bool Checkbox2 { get; set; } 

     [DisplayName("CheckBox 3")] 
     public bool Checkbox3 { get; set; } 

     [DisplayName("CheckBox 4")] 
     public bool Checkbox4 { get; set; } 

     [DisplayName("TextField 2")] 
     [Range(1, 50, ErrorMessage = "Test Error")] 
     public int Field2 { get; set; } 

    } 
} 

Итак, нелогич- когда пользователь неустановленными флажок 1 и редактировать значение 1 от поля 2 до 199 и попадает на кнопку сброса, все элементы сбрасываются до значения из MyModel()

Кто может мне помочь?

+2

Кнопка сброса не требует кода на стороне клиента. – RobG

+0

Возможно ли это с кодом на стороне клиента? – user1809035

+0

Конечно, возможно: ' 'или' '. Твой выбор. – RobG

ответ

1

Это действительно очень просто, если вы не хотите делать это на стороне клиента, он просто перезагрузит форму. Тем не менее, я предполагаю, что вы хотите, чтобы сделать это на стороне клиента.

Если вы не хотите идти по маршруту MVVM (KnockoutJS и т.д.), то это основная идея (в JQuery):

$(function() { 
    // You can make this more efficient by holding the element Ids in the array and setting their values in a loop. 
    var prevValues = {}; 
    prevValues.checkbox1 = $('#checkbox1').is(":selected"); // true or false 

    $('#reset').on("click", function() { 
     // reset values here 
     $('#checkbox1').prop("checked", prevValues.checkbox1); 
    }); 
}); 


<input type="checkbox" id="checkbox1" /> 

<input type="button" id="reset" /> 
2

Просто используйте <input type="reset" />. Вам не нужно jQuery или обновление, эта функциональность была встроена в браузер с тегом marquee, по крайней мере.

Смежные вопросы