onchang ค่าใน combobox ไปยัง javascript ไม่รู้จักค่าที่ส่งมา
คือเป็น onchang 3 ชั้นค่ะ onChange="listpro_name(); เพื่อส่งค่าไปหาสถานที่ได้ค่ะ แต่ onChange='listof_name();' หน้า officestart.php ไปยัง function listof_name() เกิด error ว่า
document.nbranch.nprovince is undefined เพราะอะไรหรอค่ะ อาจเป็นเพราะว่ารันบน firefox หรือเปล่าค่ะ
// หน้า form.php
<?
header('Content-Type: text/html; charset=utf-8');
?>
<script type="text/javascript">
var req;
function InitAjax(){
try{req= new XMLHttpRequest();}
catch (e){
try{req= new ActiveXObject("Msxml2.XMLHTTP");}
catch (e) {try{ req = new ActiveXObject("Microsoft.XMLHTTP");} catch (e){alert("Your browser error!"); return false;}
}
}
}
function listpro_name(){
InitAjax();
var namebranch = document.nbranch.namebranch.value;
var cSql = "officestart.php?namebranch="+namebranch;
req.onreadystatechange = function(){
if(req.readyState == 4){
document.getElementById('nprovince').innerHTML = req.responseText;
alert(document.getElementById('nprovince').innerHTML);
}
}
req.open("GET", cSql, true);
req.send(null);
}
function listof_name(){
InitAjax();
var namebranch = document.nbranch.namebranch.value;
var namebranch = document.nbranch.nprovince.value;
var cSql = "province.php?namebranch="+namebranc+"& nameprovince="+nameprovince;
req.onreadystatechange = function(){
if(req.readyState == 4){
document.getElementById('noffice').innerHTML = req.responseText;
alert(document.getElementById('noffice').innerHTML);
}
}
req.open("GET", cSql, true);
req.send(null);
}
</script>
<center>แสดงเบอร์โทรศัพท์</center><br>
<form name=form1 method=post action= >
<center><table border=0 cellspacing=0 ></center>
<tr>
<td>เบอร์โทรศัทพ์</td>
<td><input type=text name=txttel_code></td>
<tr>
<tr>
<td> </td>
<td>
<input type=submit name=Submit value=ค้นหา>
<input type=reset name=cancle value=ยกเลิก>
</td>
</tr>
</form>
<form id="nbranch" name="nbranch" method="get" action="form_search">
<center><table border=0 cellspacing=0 ></center><br><br>
<tr>
<td>ชื่อสาขา</td>
<td><select name="namebranch" id="namebranch" onChange="listpro_name();">
<option value=''>= เลือกสาขา =</option>
<?
$oConn = mysql_connect("localhost","root","root") or die("ไม่สามารถติดต่อฐานข้อมูลได้".mysql_error());
mysql_select_db("sombat_telephone") or die(mysql_error());
$oRsServer = mysql_query("select * from tel_branch", $oConn);
$nRowServer = mysql_num_rows($oRsServer);
for ($a = 0; $a< $nRowServer; $a++){
$cSvrBranchCode = mysql_result($oRsServer, $a, "br_code");
$cSvrBranchName = mysql_result($oRsServer, $a, "br_name");
echo "<option value=".$cSvrBranchCode.">".$cSvrBranchName."</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td>สถานที่</td>
<td><div id ="nprovince">
<select name="nameprovince" class="combobox" id="nameprovince" onChange="">
<option value='0'>-------------------</option>
</select>
</div></td>
</tr>
<tr>
<td>ออฟฟิต/เอเย่นต์</td>
<td><div id ="noffice">
<select name="nameoffice" class="combobox" id="nameoffice" onChange="">
<option value='0'>-------------------</option>
</select>
</div></td>
</tr>
<tr>
<td> </td>
<td>
<input type=submit name=Submit value=ค้นหา>
<input type=reset name=cancle value=ยกเลิก>
</td>
</tr>
</form>
// หน้า officestart.php
<?php
header('Content-Type: text/html; charset=utf-8');
$oConn = mysql_connect("localhost","root","root") or die("ไม่สามารถติดต่อฐานข้อมูลได้".mysql_error());
$br_code =$_GET["namebranch"];
echo $br_code;
mysql_select_db("sombat_telephone") or die(mysql_error());
$cSqlOffice = "select * from tel_office o,tel_province p
where o.pro_code = p.pro_code and br_code = '$br_code' group by p.pro_code";
$oRsServer = mysql_query($cSqlOffice, $oConn);
$nRowServer = mysql_num_rows($oRsServer);
echo"<select name='nprovince' class='combobox' id='nprovince' onChange='listof_name();'>";
echo "<option value='0'>=เลือกสถานที่=</option>";
for ($a = 0; $a < $nRowServer; $a++){
$cSvrprovinceCode = mysql_result($oRsServer, $a, "pro_code");
$cSvrprovinceName = mysql_result($oRsServer, $a, "pro_name");
echo "<option value=".$cSvrprovinceCode.">".$cSvrprovinceName."</option>";
}
/*$cReturn = '';
for ($a = 0; $a < $nRowServer; $a++){
$cSvrprovinceCode = mysql_result($oRsServer, $a, "pro_code");
$cSvrprovinceName = mysql_result($oRsServer, $a, "pro_name");
$cReturn = $cReturn.$cSvrprovinceCode.'~'.$cSvrprovinceName.'|';
}
echo $cReturn;*/
?>
// หน้า province.php
<?php
header('Content-Type: text/html; charset=utf-8');
$oConn = mysql_connect("localhost","root","root") or die("ไม่สามารถติดต่อฐานข้อมูลได้".mysql_error());
$br_code =$_GET["namebranch"];
$pro_code =$_GET["nameprovince"];
echo $br_code;
echo $pro_code;
mysql_select_db("sombat_telephone") or die(mysql_error());
$oRsServer = mysql_query("select * from tel_office
where br_code = '$br_code' and pro_code ='$pro_code'", $oConn);
$nRowServer = mysql_num_rows($oRsServer);
//echo $nRsServer;
echo"<select name='noffice' class='combobox' id='noffice'>";
for ($a = 0; $a< $nRowServer; $a++){
$cSvrprovinceCode = mysql_result($oRsServer, $a, "pro_code");
$cOfficeName = mysql_result($oRsServer, $a, "of_name");
echo "<option value=".$cSvrprovinceCode.">".$cOfficeName."</option>";
}
echo "</select>";
?>Tag : - - - -
Date :
2009-12-29 15:34:34
By :
nana
View :
1914
Reply :
6
var namebranch = document.nbranch.namebranch.value;
var namebranch = document.nbranch.nprovince.value;
^^^^^^
ชื่อตัวแปร มันเหมือนกันหรือเปล่าครับ
Date :
2009-12-29 15:40:58
By :
ความรู้เท่าหางอึ่ง
ตรง var namebranch = document.nbranch.nprovince.value;
แก้เป็น var nameprovince = document.nbranch.nprovince.value; นะค่ะ
Date :
2009-12-29 15:44:40
By :
nana
ก้อลองดูคับได้ไหมละ ?
Date :
2009-12-29 15:47:20
By :
ความรู้เท่าหางอึ่ง
แง่ แง่ ลองดูแล้วก็ยัง error เหมือนเดิมค่ะ
ลอง echo"<select name='nprovince' class='combobox' id='nprovince' onChange='alert(this.value);'>"; มีค่าอยู่นะค่ะ แต่พอ onChange='listof_name();' ไม่ได้ค่ะ
Date :
2009-12-29 15:52:03
By :
nana
Code (PHP)
<script>
function listof_name(val){
var nprovince =val
alert(nprovince);
}
</script>
<select name='nprovince' class='combobox' id='nprovince' onChange='listof_name(this.value);'>
<option value='0'>=เลือกสถานที่=</option>
<option value='1'>=bb=</option>
</option>
ลองเขียนแบบนี้ดูครับ ส่งค่าพารามิเตอร์ this.value ไปด้วยครับ
<div id ="nprovince"> เปลี่ยนไปใช้ ชื่อ id อื่นครับมันซ้ำกับ select id =nprovice เดี๋ยวจะมีปัญหาภายหลังครับ
Date :
2009-12-29 19:02:33
By :
xbeginner01
ได้แล้วค่ะ ขอบคุณมากๆนะค่ะ
Date :
2009-12-30 10:45:36
By :
nena
Load balance : Server 05