jQuery clone功能在chrome中不起作用

时间:2016-05-10 06:50:11

标签: javascript jquery google-chrome



$(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;
&#13;
&#13;

它适用于Mozilla firefox浏览器,但不适用于Chrome。

有办法吗?

如果没有,请建议我如何动态添加输入文件的值?

https://jsfiddle.net/abid06/hwtmapc9/4/

1 个答案:

答案 0 :(得分:1)

  

如何使用值

动态添加输入文件

你无法可靠。浏览器对文件输入非常小心,因为它们具有安全漏洞的潜力。你可以移动一个文件元素,同时保留它的价值,但你不能克隆它同时保留它的价值,而不是在浏览器中可靠地克隆它,原因与你不能创造一个具有提供的默认值的元素。