重新上传文件后保留所选值

Retain chosen values after reuploading a file

本文关键字:保留 文件      更新时间:2023-09-26

我有这段代码,当用户单击将重新上传文件的按钮时,它将获得选择的值。我尝试使用 window.name 但数据仍然丢失,我可能会以错误的角度进行此操作,但我希望您能帮助我。有没有办法在再次上传文件后不清空 myVal?上传和选择值属于不同的表单,我不能只使用数组,因为这意味着我应该提交选择值所在的表单。

谢谢

function testcsv()
    {
        var myVal = $('#csv_map').find('.sqlopt').map(function() {
                                       return $(this).val();
                                       }).get().join(',');
        var select_val = myVal.split(',');
        alert(select_val);
        window.name = myVal;

        $('#csvtest').click(
        function()
        {
        $('#csv_form').submit();
        alert(window.name);
        }
        );
        // $('#sqlbox_1').val(test[0]);

    }

上传表单中放置一个隐藏字段,并在提交表单之前(即当用户上传文件时)对其进行更新。原型:

<!-- Upload form -->
<form id="csv_form">
<!-- form definition omitted (fields, labels, etc) ... -->
<!-- and this is our hidden field -->
<input type="hidden" name="select_val" />
</form>
<!-- Form with SELECTs -->
<form id="csv_map">
<select class="sqlopt"> ... </select>
<select  class="sqlopt"> ... </select>
<!-- rest of the form definition omitted ... -->
</form>
<!-- Put this JS somewhere -->
<script>
$(document).ready(function() {
  $('#csv_form').submit(function() {
    var myVal = $('#csv_map').find('.sqlopt').map(function() {
      return $(this).val();
    }).get().join(',');
    // Update value of hidden field 
    $(this).find('input[name="select_val"]').val(myVal); // will contain comma-separated string of values
  });
});
</script>