2012-05-02 7 views
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]); 


    } 
+0

Пожалуйста, не создавать ненужный глобальные переменные ('window.name') ... – ThiefMaster

+0

я знаю, извини. я был в отчаянии. и я где-то читал, что window.name - хороший способ для этого. что бы вы предложили @ThiefMaster? – magicianiam

ответ

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> 
Смежные вопросы