2011-11-04 76 views
0

我有一个带有4个文本框的弹出窗体,当页面加载时,所有这些文本框都具有默认值。jquery将文本框还原为其原始值

下面是场景......用户填写了他们的详细信息,但决定不提交表格并关闭弹出窗口。当用户关闭弹出窗口时,我希望文本框的值恢复为默认值。

这是我的代码到目前为止。

$(".close").click(function() { 
    $(".popup").find("input").val("Default value of textbox"); 
}); 

而不是插入“默认值的文本框”作为值,我希望它是实际的默认值。

+2

不是这个什么< input type ='reset'/>是为了? –

+0

你可以使用表单输入“defaultValue”属性? http://www.appnovation.com/blog/quick-tip-using-javascript%E2%80%99s-defaultvalue-form-elements – cyberjar09

回答

4

你可以把默认值在元素的“数据属性”自己......我将创建一个小提琴显示此... As seen in this jsFiddle

我还应该注意的是,你可以把数据从服务器的元素属性...我只是显示你怎么可以从客户端做这一切......

+0

这种方法是否使用HTML5? – Tom

+0

是的,没有... html是没有什么,但XML正确的,和数据属性可以只是HTML元素的属性......这是我所建议的... – ar3

+0

作品一种享受,谢谢! – Tom

0

通过封闭的方式

// add to the place that opens the popup 
$(".popup input").one(function(){ 
    var value = $(this).val(); 
    var that = this; 
    $(".close").one(function(){ 
     $(that).val(value); 
    }); 
}); 
1
   // First store all the default values 
       var def_vals = []; 

       jQuery('#popup input[type="text"]').each(

        function() { 

         def_vals[jQuery(this).attr('name')] = jQuery(this).val(); 

        } 
       ); 

       alert(def_vals['test']); 

      // Restore defaults on close 



      jQuery('#popup .closeButton').click(function() { 

       jQuery('#popup input[type=text]').each(

        function() { 

         jQuery(this).val(def_vals[jQuery(this).attr('name')]); 

        } 

       ); 

      });