|
|
|
รบกวนสอบถามเรื่อง Java Script หน่อยครับ Code 2 ชุดมันทำงานตีกันเองเราจะปรับยังไงดีครับ |
|
|
|
|
|
|
|
ผมเอาโค๊ดของการเลือกจังหวัด อำเภอมาปรับใช้กับการเลือกยี่ฮ้อรถครับแต่พอทำงาน 2 อันใน Form เดีวกันมันจะมี 1 อันที่ไม่ทำงานครับแบบนี้เราจะแก้ไขยังไงดีครับ ขอบคุณครับ
Code (PHP)
<form class="form-horizontal" id="PostingForm" action="posting.php?add" method="post" enctype="multipart/form-data">
<script type="text/javascript" src="js/bigbike_list.js"></script>
<div class="form-group">
<label class="col-sm-2 control-label">เลือกค่ายรถ </label>
<div class="col-sm-8">
<span id="superbike_brand_id">
<select name="superbike_brand_id" class="form-control" id="superbike_brand_id" required>
<option value="">เลือกค่ายรถ</option>
</select>
</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">รุ่น </label>
<div class="col-sm-8">
<span id="superbike_model_id">
<select name="superbike_model_id" class="form-control" id="superbike_model_id" required>
<option value="">เลือกรุ่นรถ</option>
</select>
</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">ปี </label>
<div class="col-sm-4">
<select name="superbike_year" class="form-control" id="superbike_year" required>
<option value="">เลือกปี</option>
<option value="2000">ปี 2000</option>
<option value="2001">ปี 2001</option>
<option value="2002">ปี 2002</option>
<option value="2003">ปี 2003</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">ราคา</label>
<div class="col-sm-8">
<div class="form-group col-sm-8">
<div class="input-group">
<div class="input-group-addon"><strong>฿</strong></div>
<input type="number" class="form-control" id="superbike_price" name="superbike_price" placeholder="ราคาที่เหมาะสม" required data-validation-required-message="ระบุราคาที่เหมาะสม">
<div class="input-group-addon"><strong>บาท</strong></div>
</div>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">ภาพประกอบ </label>
<div class="col-sm-8">
<script type="text/javascript" src="js/multiupload.js"></script>
<div id="images" orakuploader="on"></div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">ใส่รายละเอียด </label>
<div class="col-sm-8">
<textarea class="form-control textarea" rows="8" name="superbike_detail" placeholder="รายละเอียดรถ" required></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">เลขไมล์(กม.)</label>
<div class="col-sm-8">
<div class="form-group col-sm-8">
<div class="input-group">
<div class="input-group-addon"><strong><i class="glyphicon glyphicon-dashboard
"></i></strong></div>
<input type="number" class="form-control" id="superbike_mile" name="superbike_mile" placeholder="ไมล์รถ" required data-validation-required-message="ระบุไมล์รถ">
<div class="input-group-addon"><strong>km.</strong></div>
</div>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">สภาพรถ </label>
<div class="col-sm-8">
<select name="superbike_status_id" class="form-control" id="superbike_status_id" required>
<option value="">สภาพรถ</option>
<option value="1">รถใหม่</option>
<option value="2">รถมือสอง</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">สถานะประกาศ :</label>
<div class="col-sm-8">
<select class="form-control" name="post_status_id" id="post_status_id" required>
<option value="">สถานะประกาศ</option>
<option value="1">ขาย</option>
<option value="2">แลกเปลี่ยน</option>
<option value="3">ให้เช่า</option>
</select>
</div>
</div>
<script type="text/javascript" src="js/thailand_list.js"></script>
<div class="form-group">
<label class="col-sm-2 control-label">ระบุพื้นที่ของสินค้า </label>
<div class="col-sm-2">
<span id="province">
<select class="form-control" name="province" id="province" required>
<option value="">- เลือกจังหวัด -</option>
</select>
</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"></label>
<div class="col-sm-2">
<span id="amphur">
<select class="form-control" name="amphur" id="amphur" required>
<option value="">- เลือกอำเภอ -</option>
</select>
</span>
</div>
</div>
<!-- Indicates a successful or positive action -->
<div class="form-group">
<label class="col-sm-2 control-label"></label>
<div class="col-sm-2">
<center><button type="submit" class="btn btn-danger"> ลงประกาศ </button></center>
</div>
</div>
</form>
thailand_list.js
Code (JavaScript)
function Inint_AJAX() {
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {} //IE
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
try { return new XMLHttpRequest(); } catch(e) {} //Native Javascript
alert("XMLHttpRequest not supported");
return null;
};
function dochange(src, val) {
var req = Inint_AJAX();
req.onreadystatechange = function () {
if (req.readyState==4) {
if (req.status==200) {
document.getElementById(src).innerHTML=req.responseText; //รับค่ากลับมา
}
}
};
req.open("GET", "bigbike_brand.php?data="+src+"&val="+val); //สร้าง connection
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); // set Header
req.send(null); //ส่งค่า
}
window.onLoad=dochange('superbike_brand_id', -1);
------------------------------------------------------------------------------------------------------------------------------------
bigbike_list.js
Code (JavaScript)
function Inint_AJAX() {
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {} //IE
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
try { return new XMLHttpRequest(); } catch(e) {} //Native Javascript
alert("XMLHttpRequest not supported");
return null;
};
function dochange(src, val) {
var req = Inint_AJAX();
req.onreadystatechange = function () {
if (req.readyState==4) {
if (req.status==200) {
document.getElementById(src).innerHTML=req.responseText; //รับค่ากลับมา
}
}
};
req.open("GET", "localtion.php?data="+src+"&val="+val); //สร้าง connection
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); // set Header
req.send(null); //ส่งค่า
}
window.onLoad=dochange('province', -1);
location.php
Code (PHP)
<?php
header("content-type: text/html; charset=utf-8");
header ("Expires: Wed, 21 Aug 2013 13:13:13 GMT");
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
include("include/config.php");
include("include/function.php");
$data = $_GET['data'];
$val = $_GET['val'];
if ($data=='province') {
echo "<select class='form-control' name='province' onChange=\"dochange('amphur', this.value)\">";
echo "<option value='0'>- เลือกจังหวัด -</option>\n";
$result=mysql_query("select * from province order by PROVINCE_NAME");
while($row = mysql_fetch_array($result)){
echo "<option value='$row[PROVINCE_ID]' >$row[PROVINCE_NAME]</option>" ;
}
} else if ($data=='amphur') {
echo "<select class='form-control' name='amphur' onChange=\"dochange('district', this.value)\">";
echo "<option value='0'>- เลือกอำเภอ -</option>\n";
$result=mysql_query("SELECT * FROM amphur WHERE PROVINCE_ID= '$val' ORDER BY AMPHUR_NAME");
while($row = mysql_fetch_array($result)){
echo "<option value=\"$row[AMPHUR_ID]\" >$row[AMPHUR_NAME]</option> " ;
}
} else if ($data=='district') {
echo "<select class='form-control' name='district'>\n";
echo "<option value='0'>- เลือกตำบล -</option>\n";
$result=mysql_query("SELECT * FROM district WHERE AMPHUR_ID= '$val' ORDER BY DISTRICT_NAME");
while($row = mysql_fetch_array($result)){
echo "<option value=\"$row[DISTRICT_ID]\" >$row[DISTRICT_NAME]</option> \n" ;
}
}
echo "</select>\n";
echo mysql_error();
?>
bigbike_brand.php
Code (PHP)
<?php
header("content-type: text/html; charset=utf-8");
header ("Expires: Wed, 21 Aug 2013 13:13:13 GMT");
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
include("include/config.php");
include("include/function.php");
$data = $_GET['data'];
$val = $_GET['val'];
if ($data=='superbike_brand_id') {
echo "<select class='form-control' name='superbike_brand_id' onChange=\"dochange('superbike_model_id', this.value)\">";
echo "<option value='0'>- เลือกยี่ฮ้อ -</option>\n";
$result=mysql_query("select * from superbike_brand order by superbike_brand_name");
while($row = mysql_fetch_array($result)){
echo "<option value='$row[superbike_brand_id]' >$row[superbike_brand_name]</option>" ;
}
} else if ($data=='superbike_model_id') {
echo "<select class='form-control' name='superbike_model_id' onChange=\"dochange('', this.value)\">";
echo "<option value='0'>- เลือกรุ่น -</option>\n";
$result=mysql_query("SELECT * FROM superbike_model WHERE superbike_brand_id= '$val' ORDER BY superbike_model_name");
while($row = mysql_fetch_array($result)){
echo "<option value=\"$row[superbike_model_id]\" >$row[superbike_model_name]</option> " ;
}
}
echo "</select>\n";
echo mysql_error();
?>
Tag : PHP, HTML, JavaScript
|
ประวัติการแก้ไข 2017-06-09 14:31:11
|
|
|
|
|
Date :
2017-06-09 14:29:43 |
By :
ppsonic |
View :
718 |
Reply :
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1) โค๊ดยาวมาก ตาลาย
2) น่าจะยุบรวม javascript 2 อันเป็น ตัวเดียวไปเลย เพราะตอนนี้ฟังก์ชั่นเดียวกันอยู่ภายในซ้ำกัน
3) งั้นใช้แบบนี้ดีมั๊ย
- <select name="superbike_status_id" class="form-control" id="superbike_status_id" required onchane="dochange1(aaa, bbb)">
- <select class="form-control" name="province" id="province" required onchane="dochange2(xxx, yyy)">
|
|
|
|
|
Date :
2017-06-09 16:07:25 |
By :
ccjpn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รบกวนช่วยด้วยครับยังติดอยู่เลยครับ
|
|
|
|
|
Date :
2017-06-09 22:52:07 |
By :
ppsonic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|