Form elements have "defaultValue" and "defaultSelected" attributes. You might want to explore using those to "reset" the elements.
http://www.irt.org/script/909.htm Karl Rudd On Wed, Mar 11, 2009 at 5:58 AM, mkmanning <michaell...@gmail.com> wrote: > > Haven't tried it but you could use my getAttributes plugin (http:// > plugins.jquery.com/project/getAttributes) to store the current > attributes in the data as I suggested, and then retrieve it later. > That would get you not only the value but all other attributes. > > $(document).ready(function(){ > $(":input").each(function(){ > $(this).data('orig',$.getAttributes($(this))) > }); > > //to access original attributes of the input later, including value > console.log( $('some_input').data('orig').value ); > console.log( $('some_input').data('orig').name); > > }); > > On Mar 10, 11:43 am, Brad <nrmlcrpt...@gmail.com> wrote: >> Thanks for the help on the other question. I missed the part about >> reverting the value. >> >> Actually I don't think that I need to explicitly store the value. If I >> store the value of $(this) as shown I can later retrieve the value >> for a specific field by e.g., calling ... >> >> $(origFormData['age']).val() >> >> ..., but I need to explain my requirement in more detail. >> >> Restoring the input field's value is only one part of the problem. >> There are a number of other attributes that might need to be restored. >> Depending on how the backend code originally displays the form, a >> field can start out enabled or disabled. It can start out with a >> special class assignment. These attributes can dynamically change as >> the form is used. Therefore resetting a field may involve more than >> restoring the field's original value. >> >> What I was hoping I could do was store an jQuery object that contained >> all of the information about the field and somehow (magically) use >> that to overwrite the current representation of that same field. >> >> Am I dreaming? >> >> Thinking of other ways to solve this problem, is there a way with >> jQuery to get the full html of an input element? The .html() method >> doesn't do it. >> >> On Mar 10, 12:02 pm, MorningZ <morni...@gmail.com> wrote: >> >> > You forgot an important part of the line >> >> > origFormData[this.name] = $(this); >> >> > and this is you need to store the value, so >> >> > origFormData[this.name] = $(this).val(); >> >> > and on your other topic, the code was also provided to revert the >> > value back to the saved value >> >> > On Mar 10, 1:36 pm, Brad <nrmlcrpt...@gmail.com> wrote: >> >> > > I have a need to reset individual form objects to their original >> > > state. When the document loads I save the element like this: >> >> > > var origFormData = {}; >> >> > > $(document).ready(function(){ >> >> > > // Save original form data for each input field >> > > $(":input").each(function(){ >> > > origFormData[this.name] = $(this); >> > > }); >> >> > > }); >> >> > > For example I have a form with fields named name, age, and dept >> > > selectable by $("#name"), $("#age"), and $("#dept") respectably. >> >> > > How would I go about later restoring/resetting a specific field. Is >> > > there a simple way to overwrite the object represented by $("#name) >> > > with origFormData.name?