2012-07-20 112 views
4

我正在使用valums上傳文件插件與asp.net mvc 3.我有兩個下拉框和一個ajax valums上傳文件按鈕。我在查看以下代碼:將動態值傳遞給valums中的其他參數上傳

<link href="@Url.Content("~/Content/css/fileuploader.css")" rel="stylesheet" type="text/css" /> 
<script src="@Url.Content("~/Content/js/fileuploader.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery-1.7.2.js")" type="text/javascript"></script> 


@using (Html.BeginForm("Upload", "AjaxUpload", FormMethod.Post, new { name = "form1" })) 
{ 
    @Html.ValidationSummary(true) 
    <fieldset> 
     <legend>Upload Wav File</legend> 
     <div class="editor-label"> 
      @Html.Label("Select Language") 
     </div> 
     <div> 

      @Html.DropDownList("Language1", (SelectList)ViewBag.lang) 
     </div> 
     <div class="editor-label"> 
      @Html.Label("Select Category") 
     </div> 


     <div> 
      @Html.DropDownList("ParentCategoryID", ViewBag.ParentCategoryID as SelectList) 
     </div> 

     <div id="file-uploader"> 
    <noscript> 
     <p> 
      Please enable JavaScript to use file uploader.</p> 
    </noscript> 
</div> 
    </fieldset> 
} 


<script type="text/javascript"> 


    var uploader = new qq.FileUploader 
    ({ 
     element: document.getElementById('file-uploader'), 
     params: { 
      param1: document.getElementById("Language1").value, 
      param2: document.getElementById("ParentCategoryID").value 
     }, 
     action: '@Url.Action("upload")', // put here a path to your page to handle uploading 
     allowedExtensions: ['jpg', 'jpeg', 'png', 'gif'], // user this if you want to upload only pictures 
     sizeLimit: 4000000, // max size, about 4MB 
     minSizeLimit: 0, // min size 
     debug: true 
    }); 
</script> 

問題: 當我在使用的document.getElementById上傳功能valums的PARAMS屬性傳遞的值,它總是選擇列表中的第一個選項的值,即使我選擇其他選項。我相信,當第一次加載頁面document.getElementById時,它會很有價值。我怎樣才能得到當前選擇的值,並傳遞到PARAMS在上面的代碼屬性:

我有如下控制動作:

[HttpPost] 
     public ActionResult Upload(HttpPostedFileBase qqfile, string param1, string param2) 
     { 
      .............. 
     } 

回答

7

提交其他值時,您可以使用setParams方法。

var uploader = new qq.FileUploader({ 
    onSubmit: function() { 
     uploader.setParams({ 
      anotherParam: 'value' 
     }); 
    } 
}); 
+0

非常感謝我沒有注意到提交。現在我正在獲得當前價值 – CodeManiac 2012-07-20 09:06:29