我在ASP.Net MVC 3视图中有一个下拉列表和两个文本框。下拉列表中的数字从1到10列出。两个文本框都连接起来使用JQuery Datepicker。
当用户从下拉列表中选择一个选项时,我希望JQuery代码清除两个文本框中的值。
我已经编写了下面的JQuery代码,但是,当我将表单详细信息提交到我的控制器中的post方法时,我为两个文本框选择的日期被清除。
这是我迄今为止的代码:
$(document).ready(function () {
$('#equipment_warrantyLength').change(ResetDates); //fires when drop down changed
function ResetDates() {
alert("hello");
$("#equipment_purchaseDate").val(''); // clear textbox
$('#equipment_warrentyExpires').val(''); //clear textbox
}
});
只有在选择下拉列表时才能清除文本框,但目前,当用户尝试提交表单时,它们也会清除。
任何反馈都会非常感激。
答案 0 :(得分:2)
当表单提交到服务器时,页面将重新加载。除非您在再次加载页面时在文本框中设置提交的值,否则它们将被清除。 ASP.NET MVC不像ASP.NET WebForms那样使用Viewstate,因此除非您手动初始化字段,否则在表单提交后重新加载页面时它们将为空。
更新:
您还可以通过jQuery提交表单数据。为此,您可以这样做:
但最后,将提交的数据放在viewmodel中并在提交后重新初始化视图中的字段可能会更容易。