2012-02-22 14 views
0

phpページdc-test.php(これはフレームページ:topFrameとbotFrame)のドロップダウンリストにフォーカスを設定できません。ドロップダウンリストは依存しています。これらのドロップダウンリストの値は、表から取り込まれます。 2番目の依存ドロップダウンリストの最初のドロップダウンおよびリロード後のフォーカスを設定できません。私のコードを参照してください、あなたの助けが必要です!申し訳ありませんが私はこの質問を繰り返す場合は、私は正しい答えを見つけることができませんでした。phpスクリプトのjavascriptを使用して、ドロップダウンリストのfocus()を設定する方法

関数firstfield()を見ると、下のコードのドロップダウンリストにフォーカスが設定されません。あなたの選択ボックスにIDを割り当ててからちょうど

window.frames[0].getElementById("cat").focus(); 

frames[0]フレームを使用内の要素にアクセスするために

document.getElementById("cat").focus(); 

を使用しない理由

<html> 
<head> 
<SCRIPT language=JavaScript> 
function reload(form) 
{ 
var val=form.cat.options[form.cat.options.selectedIndex].value; 
self.location='dc-test.php?cat=' + val ; 
} 

function firstfield() 
{ 
document.topFrame.cat.focus(); 
} 
</script> 
</head> 

<body onLoad="firstfield();"> 

<?php 
$dbservertype='mysql'; 
$servername='localhost'; 
$dbusername='aaa'; 
$dbpassword='[email protected]'; 
$dbname='test'; 

connecttodb($servername,$dbname,$dbusername,$dbpassword); 
function connecttodb($servername,$dbname,$dbuser,$dbpassword) 
{ 
global $link; 
$link=mysql_connect ("$servername","$dbuser","$dbpassword"); 
if(!$link){die("Could not connect to MySQL");} 
mysql_select_db("$dbname",$link) or die ("could not open db".mysql_error()); 
} 
// End of DB connection 

@$cat=$_GET['cat']; 
if(strlen($cat) > 0 and !is_numeric($cat)){ 
echo "Data Error"; 
exit; 
} 


$quer2=mysql_query("SELECT DISTINCT Ac_desc, Ac_code FROM ACMAST order by Ac_desc"); 


/////// Second drop down list we will check if category is selected else we will display all the subcategory///// 
if(isset($cat) and strlen($cat) > 0){ 
$quer=mysql_query("SELECT DISTINCT Add1 FROM ACMAST where Ac_code=$cat order by Add1"); 
} 

echo "<form name='f1'>"; 
echo "<table width='100%' height='39' border='0' cellpadding='2' cellspacing='0'>"; 
echo " <tr>"; 
echo " <td width='12%'>.</td>"; 
echo " <td width='7%'><span class='sty1'> Customer</span></td>"; 
echo " <td width='27%'><select name='cat' onchange=\"reload(this.form);  showUser(this.value);\"> 
<option value=''>Select Name</option>"; 
while($noticia2 = mysql_fetch_array($quer2)) { 
if($noticia2['Ac_code'][email protected]$cat){echo "<option selected value='$noticia2[Ac_code]'>$noticia2[Ac_desc]</option>"."<BR>";} 
else{echo "<option value='$noticia2[Ac_code]'>$noticia2[Ac_desc]</option>";} 
} 
echo "</select>"; 

echo "</td>"; 
echo " <td width='6%'><span class='sty1'>Address</span></td>"; 
echo " <td width='48%'> </span><select name='subcat'>"; 
while($noticia = mysql_fetch_array($quer)) { 
echo "<option value='$noticia[Add1]'>$noticia[Add1]</option>"; 
} 
echo "</select>"; 
echo "</td>"; 
echo " </tr>"; 
echo "</table>"; 
?> 
</body>   
</html> 

答えて

1

番号0をフレームのインデックスに変更します。例えば2つのフレームがあり、2番目のフレームにアクセスしたい場合は、frames[1]

+0

Strattonでも、これは機能しません! – user1114409

+0

あなたの機能をデバッグしようとしましたか? firebugとconsole.log()を使用して正しい要素が得られるかどうかを確認してください。 – clem

+0

Stratton、これは私のために働いていましたが、問題は完全に解決されていません。 .cat.focus(); ">これがフレーム内にある場合、最初のフレームのフォーカスをどのように設定するかをちょっと調べてください。 – user1114409

関連する問題