|
|
|
จะส่งค่า array ข้ามหน้าผ่าน url โดยใช้ javascript เข้ามาช่วยจะทำยังไง ช่วยนี้แนะด้วย |
|
|
|
|
|
|
|
โปรโมชั่น 1-9 เลือก อย่างใดอย่าหนึ่่ง หรือ เลือก หลายอย่าง ก็ได้ครับ
ถ้าใช้ select ก็ เลือกได้แค่อย่างเดียว
แต่ถ้าใช้ checkbox ก้จะเลือกได้ หลายอย่างแล้วแต่จะติ๊ก
|
|
|
|
|
Date :
2015-01-04 22:08:01 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วตรงนี้ '&selectType=' + document.getElementById("selectType").value; ถ้าจะให้ส่งค่าเป็น array ต้องแก้ไขยังไง
|
|
|
|
|
Date :
2015-01-04 23:11:58 |
By :
funrun |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (JavaScript)
<script type="text/javascript">
function sendAddCondition(){
location.href='add-condition.php?name=' + document.getElementById("proname").value +
'&selectType=' + document.getElementById("selectType").value;
}
</script>
ไม่เข้าใจคำถามน่ะครับ คือ selectType มันมีแค่ tag เดียว ให้ค่ามาแค่อันเดียว
แล้วจะทำเป็น array ได้อย่างไรครับ
นอกจากว่าจะเปลี่ยน select เป็น checkbox หลายอัน
แล้วค่อย วน loop ตรวจสอบ นำค่า checkbox มากำหนด ตัวแปรในการส่งเป็น array อีกที
Code (PHP)
<?php
if(isset($_REQUEST['selectType'])){
$test=explode(',', $_REQUEST['selectType'] );
}else $test=array();
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script type="text/javascript">
function sendAddCondition(){
var var_chk = new Array();
var chk_data = document.getElementsByClassName('chk');
for( var key in chk_data){
if( chk_data[key].checked ){
var ln=var_chk.length;
var_chk[ln] = chk_data[key].value;
}
}
location.href='?selectType=' + var_chk;
}
</script>
</head>
<body>
<pre><?php print_r($test); ?></pre>
<input type="checkbox" class="chk" value="type1">
<input type="checkbox" class="chk" value="type2">
<input type="checkbox" class="chk" value="type3">
<button type="button" onClick="sendAddCondition();">send</button>
</body>
</html>
|
|
|
|
|
Date :
2015-01-04 23:46:18 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พอดีผมเคยเห็นเพื่อนใช้ select แบบ multiple แล้วส่งค่าหลายค่าผ่าน form ได้
แต่ที่ผมจะทำคือส่งค่าโดยไม่ผ่าน form ก็คิดว่าถ้าเอา javascript มาช่วยตรงการรับค่าจาก select แบบ multiple มันน่าจะทำให้ส่งค่าได้
|
|
|
|
|
Date :
2015-01-05 11:17:36 |
By :
funrun |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอโทษด้วยครับ อ่านโค๊ดไม่ดีครับ ไม่ทันได้เห็น multiple ซึ่งเป็น listbox ครับ
Code (PHP)
<?php
if(isset($_REQUEST['selectType'])){
$test=explode(',', $_REQUEST['selectType'] );
}else $test=array();
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script>
function setData(){
var sel = document.getElementById("list1");
var listLength = sel.options.length;
var var_chk = new Array()
for(var i=0;i<listLength;i++){
if(sel.options[i].selected) var_chk[var_chk.length]=sel.options[i].value;
}
location.href="?selectType="+var_chk;
}
</script>
</head>
<body>
<pre><?php print_r($test); ?></pre>
<select id="list1" name="RoomID" multiple >
<option value="" selected>-- เลือกห้องพัก --</option>
<?php
$strSQL = "SELECT * FROM `room` order by `floor`, `room_id` ";
mysql_query("SET NAMES TIS620");
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$floor='';
while($objResult = mysql_fetch_array($objQuery)){
if($floor!=$objResult['floor']){
if($floor>'') echo "</optgroup>";
$floor=$objResult['floor'];
echo "<optgroup label='Floor $floor'>";
}
if( $objResult['rent']=='Yes'){
echo "<option value='$objResult[room_id]' disabled >ห้อง $objResult[room_id] ไม่ว่าง</option>";
}else{
echo "<option value='$objResult[room_id]'>ห้อง $objResult[room_id]</option>";
}
}
echo "</optgroup>";
?></select>
<button type="button" onClick="setData()">Save</button>
</body>
</html>
|
ประวัติการแก้ไข 2015-01-05 11:46:02
|
|
|
|
Date :
2015-01-05 11:43:07 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|