I have an already existing picture and I want to upload a new one and replace the old picture, but this code is not working. (I have a button whose onclick attribute is photoSave().) Can someone tell what's wrong with this Javascript code and maybe write a possible solution?
This is the important part of the code:
<div class="row">
      <div class="col-md-12">
        <div class="profilePic" id="profilePic">
          <img src="prof.jpg" id="pictureToShow" />
        </div>
      </div>
    </div>
    <br>
    <div class="row">
      <div class="col-md-12">
        <div id="photoButton">
          <label class="btn btn-default btn-file" style="width:220px" onclick="photoChange()">
            Profilkép megváltoztatása <input type="file" accept="image/*" style="display: none" id="newPhoto">
          </label>
        </div>
      </div>
    </div>
    <script type="text/javascript">
      function photoChange() {
        document.getElementById("photoButton").innerHTML = '<button type="button" style="width:110px" class="btn btn-success btn-s" onclick="photoSave()">Mentés</button><button type="button" style="width:110px" class="btn btn-danger btn-s" onclick="photoSave()">Mégse</button>'
      }
      function photoSave() {
        document.getElementById("photoButton").innerHTML = '<label class="btn btn-default btn-file" style="width:220px" onclick="photoChange()">Profilkép megváltoztatása<input type="file" accept="image/*" style="display: none"></label>'
        if (input.files && input.files[0]) {
          var reader = new FileReader();
          reader.onload = function (e) {
            $('#pictureToShow').attr('src', e.target.result);
          }
          reader.readAsDataURL(input.files[0]);
        }
      }
    </script>
 
     
    