JQuery无法从1个输入复制到另一个输入

时间:2016-10-03 22:28:19

标签: javascript jquery html

尝试使用jQuery将一个值从<input>字段值复制到另一个值。

这在JSFiddle中有效但是当我在本地服务器上尝试时它不起作用。

我做错了什么?

https://jsfiddle.net/1emrxsLw/

JS:

$('#do').click(function() {
   $('#three').val($('#one').val());
});

$('#four').keyup(function() {
   $('#six').val($('#four').val());
});

$('#seven').blur(function() {
  $('#nine').val($('#seven').val());
});

完整HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 

<title>Untitled 1</title>
</head>

<body>
<h1>Button Click</h1>
<form id="form1">
  <input id='one' type='text' />
  <input id='two' type='text' />
</form>

<form id="form2">
  <input id='three' type='text' />
</form>

<input type='button' id="do" value="Copy" />

<h1>Insta-Copy(TM)</h1>
<form id="form1">
  <input id='four' type='text' />
  <input id='five' type='text' />
</form>

<form id="form2">
  <input id='six' type='text' />
</form>



<h1>On Blur</h1>
<form id="form1">
  <input id='seven' type='text' />
  <input id='eight' type='text' />
</form>

<form id="form2">
  <input id='nine' type='text' />
</form>
</body>

<script type="text/javascript">
$('#do').click(function() {
  $('#pDate1').val($('#fdatea').val());
});

$('#four').keyup(function() {
  $('#six').val($('#four').val());
});

$('#seven').blur(function() {
  $('#nine').val($('#seven').val());
});
</script>

</html>

1 个答案:

答案 0 :(得分:2)

首先,HTML页面中的id属性假定对该页面是唯一的,您在页面中不能有多个id值,而且确实存在。例如:

<form id="form1">
  <input id='four' type='text' />
  <input id='five' type='text' />
</form>

<form id="form1">
  <input id='seven' type='text' />
  <input id='eight' type='text' />
</form>

表单具有相同的id值,这是一种不好的做法。

其次,您发布到javascript文件,您实际使用的是哪一个?

我为你测试了第一个js脚本:

$('#do').click(function() {
   $('#three').val($('#one').val());
});

$('#four').keyup(function() {
   $('#six').val($('#four').val());
});

$('#seven').blur(function() {
  $('#nine').val($('#seven').val());
});

工作正常。

但是,您在HTML页面底部发布的第二个js文件将无法执行该作业,因为它引用了不存在的ID值,例如:#pDate1#fdatea