如何将输入表单字段中的多个值保存到JS变量?

问题描述:

I am using plupload to upload image files. My goal is to save the name of the uploaded thumb_nail files to a session, in case user leaves page or an submit error happens.

Plupload creates file_names in this manner:

<div id="files">
    <input type="hidden" id="p1adsfucka1h0p1s0624cauu623" name="files[]" value="p1adsfucka1h0p1s0624cauu623.jpg">
    <input type="hidden" id="p1adsfucka1h0p1s0624cauu624" name="files[]" value="p1adsfucka1h0p1s0624cauu623.jpg">
</div>

from plupload functions I want to call this function:

function autosave_form_cl(session_name){
    console.log($("input[name=files").val() + $('#title').val());
    $.post("/act_autosave_formdata.php", { 
          session_name:session_name,
          cellphone:    $('#cellphone').val(),
          files:        $("input[name=files").val()
    } );    
}

This returns an undefined for the value of the file fields. How could I access and save those names? Submitting and saving the values to a session works by accessing $_POST.

Collect all [name=files] first then pass it to your $.post.

I assume what's inside <div id="files"> is all inputs with [name=files]

function autosave_form_cl(session_name){
    //console.log($("input[name=files]").val() + $('#title').val());
    files = [];
    $('div#id').find('input').each(function(i,inp){
        files.push($(inp).val());
    });
    console.log(files);
    $.post("/act_autosave_formdata.php", { 
        session_name:session_name,
        cellphone:    $('#cellphone').val(),
        files:        files
    } );    
}

Let me know if it works.