【问题标题】:jQuery clone function is not working in chromejQuery克隆功能在chrome中不起作用
【发布时间】:2016-05-10 06:50:10
【问题描述】:

$(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++;
  });
});
<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>

它可以在 Mozilla firefox 浏览器中运行,但不能在 Chrome 中运行。

有什么办法吗?

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

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

【问题讨论】:

标签: javascript jquery google-chrome


【解决方案1】:

如何使用值动态添加输入文件

你不能,可靠。浏览器对文件输入非常小心,因为它们具有潜在的安全漏洞。你可以移动一个文件元素同时保留它的值,但是你不能在保留它的值的同时克隆它,在浏览器之间不可靠,原因与你不能用提供的元素创建一个元素大致相同默认值。

【讨论】:

  • 感谢您的建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-21
  • 2019-02-02
  • 2021-05-23
  • 2012-02-17
  • 2013-02-14
  • 2015-11-10
  • 1970-01-01
相关资源
最近更新 更多