javascript - Why the change in input type=file is not identified with `form.serialzie()` -


i checking whether values in form has been changed before submitting updation. other controls inside form, if changed, identified not input type=file control. below sample trying , if try submitting form or without uploading file, response not changed. why behavior input type=file? why change in input type=file not identified?

var form_serialize = "";  $(function() {    form_serialize = $("#frmprofile").serialize();  })    $('.submit').on('click', function(e) {    e.preventdefault();    var ischanged = $("#frmprofile").serialize() == form_serialize ? false : true;    if (ischanged)      $('body').append('changed');    else      $('body').append('not changed');  })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>  <form id="frmprofile">    <input type="file" />    <input type="submit" class="submit" value="submit" />  </form>

as per documentation of serialize()

data file select elements not serialized.

instead can use jquery ajaxform plugin support.

or can use formdata object , refer these questions : jquery/ajax form submission (enctype="multipart/form-data" ). why 'contenttype:false' cause undefined index in php? , sending multipart/formdata jquery.ajax


Comments

Popular posts from this blog

sublimetext3 - what keyboard shortcut is to comment/uncomment for this script tag in sublime -

java - No use of nillable="0" in SOAP Webservice -

ubuntu - Laravel 5.2 quickstart guide gives Not Found Error -