如何在上传程序(ajax)中更改对象值

how to change a obj value in the uploader (ajax)?

本文关键字:对象 ajax 程序      更新时间:2023-09-26

我仍然试图通过js (remotePath)改变这个脚本上的1个值,请给我信息:)

谢谢!

$('#uploader_div').ajaxupload(
        {
        url:            'upload.php',
        dropArea:       '#drop_here',
        remotePath:     'user/user1/',  <-- how to change only this value
        ...
这样的

            remotePath:     'user/user2/'
更新:

<div id="uploader_div"></div>
<a id="link" href="#" onclick="newvalue();"> Change user2 </a> <!--Change by Click-->
<script>
    var uplobj = {
        url: 'upload.php',
        dropArea: '#drop_here',
        remotePath: 'user/user1/', // Change by Click
        autoStart: true,
        hideUploadButton: true,
        removeOnSuccess: true, 
        maxConnections: 0,
        maxFileSize: '20M',
        allowExt: ['mp3']
    };
    function newvalue() 
    {
        uplobj.remotePath = 'user/user2/'; // Change by Click
        link.style.display = 'none';
    };    
    $('#uploader_div').ajaxupload(uplobj);
</script>

您可以在ajax调用之前随时更改对象,如果您有对它的引用。

var obj = {
    url:            'upload.php',
    dropArea:       '#drop_here',
    remotePath:     'user/user1/'
};
obj.remotePath = 'user/user2/';
$('#uploader_div').ajaxupload(obj);

编辑更多代码

我通读了文档,你应该传递一个标准的jquery选项对象ajaxupload。现在你有了一个jquery选项和数据的混合,关于什么设置是有效的更多信息,请参阅jquery文档。

一个简单的解决方案可能是将当前数据放在data options属性中。

$('#uploader_div').ajaxupload({data: obj});