2016-10-03 69 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

相關問題