Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery clone():这是firefox的错误还是我遗漏了什么_Jquery_Firefox - Fatal编程技术网

jQuery clone():这是firefox的错误还是我遗漏了什么

jQuery clone():这是firefox的错误还是我遗漏了什么,jquery,firefox,Jquery,Firefox,我对这个jQuery代码有一个问题: $(document).ready( function(){ alert($('#search').val()); var dummyInput = $('#search').clone() .attr('id', 'search_watermark') .val('Search query') $('#search').before(dummyInput); } ); $(window).un

我对这个jQuery代码有一个问题:

$(document).ready( 
  function(){  
    alert($('#search').val());  

    var dummyInput = $('#search').clone()
    .attr('id', 'search_watermark')
    .val('Search query')

    $('#search').before(dummyInput);
  }
);

$(window).unload(function(){
  $('#search_watermark').remove();
});
以及HTML:

<form id='test_form' action='/test.php' method='post'>
  <label>Create New Team</label><br/>
  <input type='text' id='search' />
</form>

创建新团队
问题是:

我们只为输入字段的克隆赋值,而不是实际的输入字段。但是你会发现在Firefox中,当你刷新页面时,实际输入字段的值已经改变了。这种行为出乎意料


所有其他浏览器(FF除外)均按预期运行。我在XP上使用FF3.5

页面刷新意味着页面被重新加载,所以所有Java脚本将再次运行,所有变量等都将丢失,因为页面将再次从服务器加载。因此,也许Firefox会记住一些值或类似的东西…

我不得不绞尽脑汁来回答这个问题,因为这种警告让我有些不耐烦。为输入字段指定一些名称,在进行克隆时,为其指定一个不同的名称,即+

var dummyInput = $('#search').clone()
.attr('id', 'search_watermark')
.val('Search query').attr( 'name', 'foo' );

Firefox会记住输入,它与JS无关。如果您执行完全刷新(+Shift),它也应该清除您发布的示例中的输入。

非常感谢:)我为克隆指定了一个名称,现在它工作正常。但我还是不明白问题出在哪里。我知道firefox记住了输入字段的值,但firefox是如何混淆这两个字段的。两者都有单独的id。面对相同的问题,更改输入元素的名称、id和值无效。