重置表单后,jQuery .html()未更新

时间:2013-12-25 15:59:57

标签: jquery

我正在尝试对this Demo

进行自定义验证
  if (proceed) {
        file_name = $('input[name="name"]').val();
        file_area = $('#selArea').val();
        file_type = $('#selType').val();
        $('#fname').html(file_name.replace(/\s+/g, "_"));
        $('#sarea').html(file_area);
        $('#stype').html(file_type);
        $("#myform")[0].reset();
   }

问题是在验证表单之后.html()为下次提交保留旧值。在

   $('#fname').html(file_name.replace(/\s+/g, "_"));
   $('#sarea').html(file_area);
   $('#stype').html(file_type);
你能告诉我为什么会这样吗?即使重置表单并成功提交新表单,我是否将旧值存储在变量中?如果是这样我怎么能截断旧的作业呢? 感谢

2 个答案:

答案 0 :(得分:2)

变量应在$("#submit_btn").click(function (e) {函数的本地定义。您在$(document).ready()函数中定义了它们,因此它们在内部函数的每次运行中保持它们的值。

DEMO

答案 1 :(得分:1)

我用一行修改了你的代码:

proceed = true;

在提交函数中,重新初始化用于触发提交的变量。

这是fiddle