2013-05-30 53 views
1

我確實有以下問題:如何重用var name = document.getElementById(「name」);在同一個文件中有多個時間

我正在PHP文檔中使用JavaScript從MySQL數據庫中檢索數據。 它工作正常。問題是當我想重新使用變量「ID」 - 在這種情況下input type=text字段中的第一個名字沒有響應,請有一個尖銳的大腦來幫助我。

下面是一個代碼示例:

<script type="text/javascript"> 
window.onload=function() { attachBehaviors(); }; 
// 
function attachBehaviors() { 
document.getElementById('person').onchange=function() { 
loadUser(this.options[this.selectedIndex].value); 
} 
} 
function loadUser(optionvalue) { 
if (optionvalue=='') { 
alert('navn'); 
return; 
} 
opts = optionvalue.split(','); 
var navn = opts[0]; 

document.getElementById('navn').value=navn; 

$result=mysql_query("SELECT * FROM userdb ORDER BY ID DESC"); 
while($row=mysql_fetch_array($result)) { 
$personName=$row['navn']; 

echo "<option value=\"$personName" </option>\n"; 
<div id="menu1"> 
<input type="text" id="navn" name="navn" placeholder="Navn" size="30" readonly/></br> 
</div> 
//and now it won't work. 
<div id="menu2">  
<input type="text" id="navn" name="navn" placeholder="Navn2" size="30" readonly/></br> 
</div> 
+0

1)在整個文檔中ID必須是唯一的才能正常工作! 2)我高度懷疑這種混合的JS和PHP的作品甚至是部分... – Sirko

+0

你的PHP標籤在哪裏? 'mysql_ *'被棄用的方式,所以你應該使用'mysqli_ *' – kelunik

+0

'id'必須是唯一的。你可以爲元素賦予相同的'class'並綁定它們的功能。 – kevinamadeus

回答

0

你混合PHP和JavaScript。你不能在一個javascript標記中做mysql查詢。

+0

...我認爲這是一個片段? – nbrogi

+0

感謝您的回答。代碼示例是真實代碼的一部分,我可以看到我忘記了一些,對此抱歉。 Evrything工作得很好,除非我想在其他輸入類型=文本中重用var。一些想法? – ahloahlo

相關問題