重新上载文件后保留选定的值

时间:2012-05-02 21:28:07

标签: php javascript jquery

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


    }

1 个答案:

答案 0 :(得分: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>