duanbaque4230
duanbaque4230
2016-03-15 06:47

如何将输入表单字段中的多个值保存到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.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • dongqian2021 dongqian2021 5年前

    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.

    点赞 评论 复制链接分享