选择下拉值后,使用javascript和php服务器设置文本框值

时间:2011-02-19 11:47:31

标签: php javascript

我正在使用一个表单,该表单将在选择下拉列值后检索值以设置文本框输入。我的问题来自于我的php服务器功能旨在将选定的下拉列表作为参数并返回相关值来填充文本框。但是我无法弄清楚如何结合php函数和将执行文本框值设置的javascript。以下是我的示例代码。任何帮助表示赞赏。

如下所示,displayGamsProjectInfo(fe)函数调用数据库函数ddGamsProjectInfo($ gamsId),但是我如何才能允许php函数“选择”所选的下拉列表索引而无需用户POST表单值(之后)也许点击按钮)

的JavaScript / PHP的:

    <script language='javascript'>function displayGamsProjectInfo(fe){
   document.all.FACILITY_RC_ID.value= '';
   document.all.FACILITY_FACULTY_ID.value= '';
   document.all.FACILITY_SUPVSOR_NAME.value= '';
   document.all.FACILITY_SUPVSOR_TELNUM.value= '';
   document.all.FACILITY_SUPVSOR_EMAIL.value= '';
   if(fe.value != null && fe.value != ''){\n";
   $getGamsInfo = FacilityDB::getInstance()->***ddGamsProjectInfo()***;
   if($getGamsInfo && $getGamsInfo != null){ 
      if($row = oci_fetch_array($getGamsInfo)){ 
        print "document.all.FACILITY_RC_ID.value= '$row[RES_CENTER]';
        document.all.FACILITY_FACULTY_ID.value= '$row[FACULTY_ID]';
        document.all.FACILITY_SUPVSOR_NAME.value= '$row[STAFF_NAME]';
        document.all.FACILITY_SUPVSOR_TELNUM.value= '$row[STAFF_TELNUM]';
        document.all.FACILITY_SUPVSOR_EMAIL.value= '$row[STAFF_EMAIL]';\n";                      
        }
      }                                             
   print "}\n
}</script>"

php函数:

public function ddGamsProjectInfo($gamsId){
if(!isset($gamsId) || $gamsId == '' || $gamsId == null)
   return null;
else{
   $sql = "....";       
   $stmt = oci_parse($this->con, $sql);
   oci_execute($stmt);
   return $stmt;
}

}

1 个答案:

答案 0 :(得分:1)

尝试详细说明我上面的评论...

基本上,这就是你要做的事情:(如果我错了,请纠正我)

  1. 用户从下拉列表中选择值。
  2. 根据该下拉值,文本框中会填充某些值。
    • 但是,您不希望有一个明确的HTTP POST来完成此任务。
  3. 这可以通过PHP和JS实现,但更一般地说,它可以用于Ajax。

    你需要:

    • 编写一个JS事件处理程序,该处理程序绑定到向PHP处理程序执行Ajax POST的下拉列表,并传入下拉值。
    • 编写PHP处理程序以处理下拉值并返回正确的文本框值,最好是以JSON格式的JS友好格式。
    • 编写JS Ajax回调来处理返回值。您可以在此处填充文本框值。

    当前的JavaScript库(jQuery等)提供了许多此功能。例如,这里有关于其Ajax函数的jQuery's documentation