1

I am not so familiar with Javascript / frontend and I use Jquery to get simple functionality done. My use case is as below.

User selects multiple files. User will have option to reorder the files (done through Jquery UI sortable along with file change). I have two challenges

  1. I am capturing the change via start and update and trying to reset the files array. However on form submit, the files are going in original order. Should I submit the form from Javascript rather than direct submit button. If so, how do I tie these events together. I have code as below so far.

      $( function() {
      var startIndx, updtIndx, temp;
      $( "#sortable" ).sortable({
            update: function(event, ui) {
                updtIndx = ui.item.index();
                //alert('update: '+updtIndx)
            },
            start: function(event, ui) { 
                startIndx = ui.item.index();
                //alert('start: ' + ui.item.index())
            }
    
        });
      temp = files[startIndx];
      files[startIndx] = files[updtIndx];
      files[updtIndx] = temp;
    $( "#sortable" ).disableSelection();
    

    } );

  2. When user clicks on Select Files again, and adds some more files, I am able to show the ul/li with more file names but how do I store reference to previous files to submit them all?

9
  • We need to see your code on how your form submits. Commented Nov 20, 2018 at 6:21
  • It is not possible to change the value of a file field using the script, so try to find other solution for this Commented Nov 20, 2018 at 7:13
  • one suggestion for achive this is make an array of files and do all upadates on this array, On submit pass that array with your request. Commented Nov 20, 2018 at 7:22
  • @DanielCheung, I had two versions of the code, both are not working, one is doing $('#formId').submit() and the other is using the jquery ajax request, in both cases, it is not working. I am assuming the changes made in Javascript are not applying to the form submission. Commented Nov 20, 2018 at 23:48
  • @Nidhi, I tried with storing in a different array, but the challenge is, the new array needs to be submitted as Ajax request with a new dynamic form. This is making me lose the output set as downloadable file. Do you have a sample where the array can be used to submit the same form or create a new form and simulate form submission instead of Ajax form submission? Commented Nov 20, 2018 at 23:50

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.