我需要使用动态上传表单。
我用这个脚本在asp mvc中添加输入文件:
<button type="button" onclick="adduploadfile()" class="btn btn-success">افزودن فایل</button>
*
function adduploadfile() {
$("<input>").attr('type', 'file').attr('name', 'NewsFilePath').attr('class', 'form-control NewsFilePathUpload')
.appendTo('.insertfileuploads');
}
并使用此代码上传图片:
$(document).ready(function () {
$('.NewsFilePathUpload').change(function () {
$(this).simpleUpload("/Admin/News/GetFiles", {
start: function (file) {
//upload started
console.log("upload started");
},
progress: function (progress) {
//received progress
console.log("upload progress: " + Math.round(progress) + "%");
},
success: function (data) {
//upload successful
console.log("upload successful!");
console.log(data);
},
error: function (error) {
//upload failed
console.log("upload error: " + error.name + ": " + error.message);
}
});
});
当我上传文件时,它不会进入控制器。
当我将此代码放入视图(不使用脚本)并使用它时,请输入控制器。这个问题是什么?
<input name="NewsFilePath" class="form-control NewsFilePathUpload" type="file">
答案 0 :(得分:1)
你可以这样做。 通过单击按钮调用此方法。
使用jquery .after
方法
function adduploadfile() {
$( ".insertfileuploads" ).after('<input name="NewsFilePath" class="form-control NewsFilePathUpload" type="file">');
}
这会将输入标记放在你的元素之后。
修改强> 您需要在添加input元素后绑定change事件。
工作小提琴:Working fiddle