0

我有这段代码,当用户单击将重新上传文件的按钮时,它将获取选定的值。我尝试使用 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]);


    }
4

1 回答 1

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>
于 2012-05-03T03:52:47.763 回答