Skip to content Skip to sidebar Skip to footer

Jquery: Get Original Input Value

Is it possible to get the initial value of a form input field? For example:

Solution 1:

Try this:

$("#one")[0].defaultValue;

Solution 2:

The DOM element has the attribute "value" which you can access by:

element.getAttribute('value');

... which may be different from the element's propertyvalue.

Demo

Note that you may call .setAttribute('value', 'new value') which will actually affect any form.reset() that is called after.

Solution 3:

Input element got property called defaultValue that is storing the original value.

To reach it via jQuery, just use .prop():

var value = $(this).prop("defaultValue");

Updated jsFiddle - after changing to "two", the above will return "one".

Solution 4:

The HTML does change. Just that the browser's default view source tool always shows you the original source fetched from server. If you use something like Firebug, you'll be able to see the dynamic changes in HTML.

One way of getting the initial value is by storing it in an additional attribute in addition to 'value'. For example, if you serve out your HTML like:

<inputtype="text" name="one" value="one" origvalue="one"id="one" />

You can always get back the original value by calling:

$("#one").attr("origvalue");

Solution 5:

Save the original_values @ document.ready.

$(function(){
  var original_values = $.map($('form input'), function(input){ return $(input).val() });
})

Post a Comment for "Jquery: Get Original Input Value"