Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript、php在下拉列表上设置焦点_Php_Javascript_Focus_Drop Down Menu_Set - Fatal编程技术网

如何使用javascript、php在下拉列表上设置焦点

如何使用javascript、php在下拉列表上设置焦点,php,javascript,focus,drop-down-menu,set,Php,Javascript,Focus,Drop Down Menu,Set,我无法将焦点设置到我的php页面dc-test.php(这是一个框架页面:topFrame和botFrame)下拉列表,该下拉列表有2个下拉列表并且是相关的。 这些下拉列表值是从表中填充的。 无法为第一个下拉列表设置焦点,在重新加载第二个相关下拉列表后设置焦点。请参阅下面的代码,需要您的帮助!对不起,如果我在这个论坛上重复这个问题,因为我找不到正确的答案 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "

我无法将焦点设置到我的php页面dc-test.php(这是一个框架页面:topFrame和botFrame)下拉列表,该下拉列表有2个下拉列表并且是相关的。 这些下拉列表值是从表中填充的。 无法为第一个下拉列表设置焦点,在重新加载第二个相关下拉列表后设置焦点。请参阅下面的代码,需要您的帮助!对不起,如果我在这个论坛上重复这个问题,因为我找不到正确的答案

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <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='234!@';
    $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']==@$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>

函数重载(表单)
{
var val=form.cat.options[form.cat.options.selectedIndex].value;
self.location='dc-test.php?cat='+val;
}
函数firstfield()
{
document.topFrame.cat.focus();
}
“顶框”在此处完全超出范围:

function firstfield()
{
document.topFrame.cat.focus();
}
改为这样做:

为表单字段指定一个id:

echo "    <td width='27%'><select name='cat' id='cat' onchange=\"reload(this.form); showUser(this.value);\">

另外,还有一点与此无关:让您的生活更轻松,并开始使用jQuery.:)

只是好奇为什么你有两种医生类型?真的没有得到你想要的。关注两个下拉列表?只能聚焦一个元素。问题是什么?你想要实现什么?我想要的很简单。第一次显示2个下拉列表时,必须为第一个下拉列表设置焦点,当在第一个下拉列表中选择一个项目时,重新加载页面,并在第二个下拉列表中填充一个值,需要为此设置焦点。是否有人可以帮我解决此问题,请回复!Eric,即使这样也不行,我使用的是firefox 9.01,这是浏览器的问题吗,顺便问一下,我们如何使用jQuery实现同样的功能?你能举个例子吗?我已经将焦点设置为表单,而不是表单字段。这在上面的答案中得到了修正,我已经验证了它的有效性。至于jQuery,我只想看看。Eric,这很好用,谢谢!我还尝试了jquery,这是一个更好的选择,具有很好的控制能力,非常感谢。
function firstfield()
{
document.getElementById('cat').focus();
}