JQuery - 清除文本框

时间:2011-02-22 14:24:52

标签: jquery asp.net-mvc-3 drop-down-menu

我在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

}

});

只有在选择下拉列表时才能清除文本框,但目前,当用户尝试提交表单时,它们也会清除。

任何反馈都会非常感激。

1 个答案:

答案 0 :(得分:2)

当表单提交到服务器时,页面将重新加载。除非您在再次加载页面时在文本框中设置提交的值,否则它们将被清除。 ASP.NET MVC不像ASP.NET WebForms那样使用Viewstate,因此除非您手动初始化字段,否则在表单提交后重新加载页面时它们将为空。

更新:

您还可以通过jQuery提交表单数据。为此,您可以这样做:

  1. 向提交按钮添加点击处理程序。 (如果声明它,您还应将其更改为普通按钮,以便浏览器不会自动提交表单。
  2. 在点击处理程序中添加代码以执行ajax提交。有关Submit form using AJAX and jQuery
  3. 的提示,请参阅此问题

    但最后,将提交的数据放在viewmodel中并在提交后重新初始化视图中的字段可能会更容易。