$(function() {
var m_row = 0;
$("body").on("click", "#m_add", function() {
console.log("click lagche");
var result = "0";
var row;
row = '<tr id="row_' + m_row + '">';
var clone = $("#m_input_file").clone();
clone.attr('id', "");
clone.attr('name', "m_input_file" + m_row);
row += '<td id="file_' + m_row + '"></td>';
row += '<td><input type="hidden" name="m_sl[]" value="' + m_row + '"></td>';
row += '</tr>';
$("#workmanship_check table tbody").prepend(row);
console.log(clone);
$("#file_" + m_row).html(clone);
m_row++;
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="workmanship_check" >
<thead>
<tr>
<th>
<input type="file" id="m_input_file">
</th>
<th><a href="#" id="m_add">Add</a></th>
</tr>
</thead>
<tbody>
</tbody>
</table>
&#13;
它适用于Mozilla firefox浏览器,但不适用于Chrome。
有办法吗?
如果没有,请建议我如何动态添加输入文件的值?
答案 0 :(得分:1)
如何使用值
动态添加输入文件
你无法可靠。浏览器对文件输入非常小心,因为它们具有安全漏洞的潜力。你可以移动一个文件元素,同时保留它的价值,但你不能克隆它同时保留它的价值,而不是在浏览器中可靠地克隆它,原因与你不能创造一个具有提供的默认值的元素。