2013-04-24 75 views
0

我有一個窗體,其中的廣播類型是在PHP while循環內生成的。根據選擇的廣播,java腳本查詢MySQL以獲取正確的值並將其返回給文本框。它工作,除了onload。 OnLoad會返回不正確的值,無論是何種循環迭代中的第一個。 Onchange將返回正確的值。javascript onchange在php while循環中

如何獲得onload以返回正確的值?在整個迭代過程中,我在收音機中使用「檢查」,以便始終檢查一個圓圈。這對我來說無關緊要,默認情況下選中哪個無線電。在while迭代中使用checked會始終檢查最後一次迭代,但它顯示的是第一個值。

這裏是我的代碼。

<script type="text/javascript"> 
function getNextcheck(str) 
{ 
if (str=="") 
    { 
    document.getElementById("nextcheck").innerHTML=""; 
return; 
    } 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("nextcheck").innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET","getnextcheck.php?id="+str,true); 
xmlhttp.send(); 
} 
window.onload = function() { 
document.getElementsByName('ID')[0].onchange(); 
} 


</script> 

而且getnextcheck.php它拉

<?php 
include $_SERVER['DOCUMENT_ROOT']."/connect.php"; 


$result = mysql_query("SELECT * FROM bankaccount WHERE ID = '$_GET[id]'"); 
$row = mysql_fetch_array($result); 

$nextcheck = $row['next_check']; 

if (empty($nextcheck)) { $nextcheck = 0; } 

echo "<tr><td>Check Number <input type=\"text\" name=\"checkno\" value=\"".$nextcheck."\" /></td></tr>"; 

和表單內的無線電文件。

while($row2 = mysql_fetch_array($result2)) { 
$id = $row2['ID']; 

echo "<tr><td><input type=\"radio\" name=\"ID\" value=\"".$row2['ID']."\" onchange=\"getNextcheck(this.value)\" checked></td><td>".$row2['name']."</td><td>".$row2['acctnum']."</td>"; 
} 

謝謝你的幫助。

回答

1

只作第一無線電檢查

<? 
$i=0; 
while($row2 = mysql_fetch_array($result2)) { 
$id = $row2['ID']; 
$checked = $i?'':'checked'; 
echo "<tr><td><input type=\"radio\" name=\"ID\" value=\"".$row2['ID']."\" onchange=\"getNextcheck(this.value)\" {$checked}></td><td>".$row2['name']."</td><td>".$row2['acctnum']."</td>"; 
$i=1; 
} 
?> 
+0

謝謝!作品。 – Tom 2013-04-24 02:29:50

+0

嗯,唯一的問題是我的收音機箱的價值不張貼。我使用回聲「

」;以我的形式。這裏的任何想法? – Tom 2013-04-24 03:10:25

+0

對不起,這意味着我的文本框的價值不張貼。 – Tom 2013-04-24 03:42:08