2016-10-03 49 views
-1

尝试使用jQuery将一个值从<input>字段值复制到另一个值。JQuery无法从1个输入复制到另一个

这在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> 
+0

你使用'在$('#do')中#pDate1'代替'#three'。click()' –

+0

你的小提琴看起来不错。 –

+0

除了@Moshe提到的错误之外,HTML中还存在更多的错误。脚本元素只能出现在头部或身体中。表单元素需要动作属性。以及由您选择的文档类型引起的一些错误... –

回答

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页面的底部,不会做的工作,因为它指的是不存在的,例如像id值第二js文件:#pDate1#fdatea

相关问题