|
|
|
PHP กด summit บันทึกแล้วค่าใน Radio Group มันหายไปอ่ะค่ะ ทำอย่างไร (มีรูปประกอบ) |
|
|
|
|
|
|
|
คือคุณต้องกำหนดค่าเริ่มต้นให้มันครับ
ตัวอย่าง
<input name="radio_name"
type="radio"
<?php if (isset($_POST['radio_name']) && $_POST['radio_name'] === 'this_radio_value') {
echo 'checked="checked"';
}
?>
value="this_radio_value" />
|
ประวัติการแก้ไข 2013-06-03 10:33:52
|
|
|
|
Date :
2013-06-03 10:31:47 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาไปใส่ใน Input Radio ไงครับ?
|
|
|
|
|
Date :
2013-06-03 11:59:52 |
By :
ALTELMA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองก๊อปโค้ดแถวๆ ที่น้องใส่ (ไม่ต้องเอามาหมดนะครับ) มาดูหน่อยครับ
|
|
|
|
|
Date :
2013-06-03 12:11:42 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
น้องเอาไปวางแบบไม่คิดตาม ไม่เปลี่ยนแปลงอะไรเลย มันจะได้มั้ยล่ะครับ
จะอธิบายยังไงดีล่ะทีนี้
|
|
|
|
|
Date :
2013-06-03 13:26:02 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สมมติมี radio 4 ตัว ชื่อว่า abc
แต่ละตัวจะมี value ต่างกัน เห็นมั้ยครับ
Code (PHP)
<input name="abc" type="radio" value="Pig" /> Radio 1<br />
<input name="abc" type="radio" value="Dog" /> Radio 2<br />
<input name="abc" type="radio" value="Crow" /> Radio 3<br />
<input name="abc" type="radio" value="Chicken" /> Radio 4<br />
เมื่อมีการ submit มันก็จะไปอยู่ในตัวแปร $_GET หรือ $_POST แล้วแต่ method ของฟอร์ม ในที่นี้จะให้เป็น $_POST ล่ะกัน
ซึ่งเข้าถึงได้ตามชื่อที่เรากำหนดไว้ (name)
ซึ่งก็คือ $_POST['abc']
ซึ่งหากผู้ใช้ ไม่คลิกเลือกอะไรเลย $_POST['abc'] จะไม่มีอยู่ คือ isset($_POST['abc']) จะเท่ากับ false
หากผู้ใช้เลือกตัวใดตัวหนึ่ง $_POST['abc'] จะมีค่าตาม value ของมัน
สมมติ ผู้ใช้คลิกเลือก Radio 3 $_POST['abc'] ก็จะเท่ากับ Crow
ดังนั้นเมื่อเรารู้แบบนี้แล้ว ถ้าอยากจะให้หน้าถัดไป มันคงสถานะการเลือกไว้ที่ใด เราต้องตรวจสอบว่าค่าของมันเป็นอะไร
แล้วกำหนดแอททริบิวท์ checked="checked" ให้กับ <input>
ประมาณนี้
<?php
// ตรวจก่อนว่ามีการเลือกหรือไม่
if (isset($_POST['abc'])) {
// ถ้ามีการเลือก ก็ให้กำหนดค่า
$value_of_abc = $_POST['abc'];
} else {
// ถ้าไม่เลือก radio ก็จะไม่ถูกเลือกเลย
$value_of_abc = '';
}
?>
<input name="abc" type="radio" value="Pig" <?php if ($value_of_abc === 'Pig') { echo 'checked="checked"'; } ?>/> Radio 1<br />
<input name="abc" type="radio" value="Dog" <?php if ($value_of_abc === 'Dog') { echo 'checked="checked"'; } ?>/> Radio 2<br />
<input name="abc" type="radio" value="Crow" <?php if ($value_of_abc === 'Crow') { echo 'checked="checked"'; } ?>/> Radio 3<br />
<input name="abc" type="radio" value="Chicken" <?php if ($value_of_abc === 'Chicken') { echo 'checked="checked"'; } ?>/> Radio 4<br />
|
|
|
|
|
Date :
2013-06-03 13:35:34 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองรันดูหรือยังล่ะครับ
แต่เท่าที่ดู มันน่าจะถูกต้องครับ
|
|
|
|
|
Date :
2013-06-03 14:52:35 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ช่วยไม่ได้จริงๆ ครับ เพราะจะให้แก้โค้ด ต้องเห็นโค้ดที่เกี่ยวข้องทั้งหมด
|
|
|
|
|
Date :
2013-06-03 15:38:03 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือเท่าที่ผมดู หน้าที่ส่งมา มันไม่มี input เป็น radio นี่ครับ มีแต่ textbox
แล้วจะเอาค่าไหนไปเปรียบเทียบล่ะครับ ตัวแปรไหนที่ต้องการเอาไปเทียบว่า radio ไหนจะถูกเลือก
เก็ตมั้ยครับ ต้องเก็ตอันนี้ก่อน ถึงจะไปต่อได้
|
|
|
|
|
Date :
2013-06-03 16:27:49 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เด๋วนะครับ เข้าใจแล้ว
คือฟอร์มแรก ส่งค่ามาเป็น textfield เพื่อเอาไปกำหนดเป็นค่าของ radio ใช่มั้ยครับ
ชื่อ txtmolds txtmoldm และ txtmoldl
เอามาเป็นค่าของ radio ที่ืชื่อ Rdomold ในฟอร์มที่สอง
และฟอร์มที่สอง submit ซึ่งเข้าใจว่าคง submit หาตัวเอง (action="frminspec.php")
ค่าของ radio หายไป
นั่นเป็นเพราะว่า พอมาฟอร์มที่ 2 มันไม่มี input ที่ชื่อ txtmolds txtmoldm และ txtmoldl แล้วไงล่ะครับ
ดังนั้นเราต้องเพิ่ม input ชนิด hidden ในฟอร์มที่สองครับ
Code (PHP)
<div data-role="page" id="page1">
<form action="frminspec.php" name="frmin" method="post" >
<div data-theme="a" data-role="header" align="center">
<h1>
Inpection Record </h1>
</div>
<table width="138%" height="240" border="1">
<tr>
<td width="6%" rowspan="2" bgcolor="#6666FF">หัวข้อ</td>
<td width="8%" rowspan="2" bgcolor="#6666FF"><p>ความดัน</p>
<p>ลม</p></td>
<td width="7%" rowspan="2" bgcolor="#6666FF">น้ำหนัก</td>
<td colspan="4" bgcolor="#6666FF">เส้นรอบวง</td>
<td width="18%" rowspan="2" bgcolor="#6666FF"><p>รูปทรงโดย</p>
<p>โมลด์</p></td>
<td width="15%" rowspan="2" bgcolor="#6666FF"><p>รูปทรงโดยห่วง</p></td>
<td width="19%" rowspan="2" bgcolor="#99FF99">สภาพโดยทั่วไป</td>
</tr>
<tr>
<td width="7%" height="39"><label for="textfield">a</label></td>
<td width="7%"><label for="txtb">b</label></td>
<td width="7%"><label for="txtc">c</label></td>
<td width="6%">diff</td>
</tr>
<tr>
<td height="32" bgcolor="#99FFCC">STD.</td>
<td> </td>
<td> </td>
<td colspan="4"> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td height="102" bgcolor="#009933"><input type="submit" style="width:50px; height:30px"" name="btnsubmit" id="bnsubmit" value="บันทึก " ></td>
<td bgcolor="#CCCCFF"><label for="txtair1"></label>
<input type="text" name="txtair" id="txtair" size="4"></td>
<td bgcolor="#CCCCFF"><label for="txtweight"></label>
<input type="text" name="txtweight" id="txtweight" size="3"></td>
<td bgcolor="#CCCCFF"><input type="text" name="txta" id="txta" size="3"
OnKeyPress="return chkNumber (this)"></td>
<td bgcolor="#CCCCFF"><input type="text" name="txtb" id="txtb" size="3" ></td>
<td bgcolor="#CCCCFF"><input type="text" name="txtc" id="txtc" size="3" ></td>
<!--// $a= $_POST["txta"];
// $b=$_POST["txtb"];
// $c=$_POST["txtc"];
// $d =(($a+$b+$c)/3);
//
-->
<td bgcolor="#CCCCFF"><input type="number" name="txtdiff" id="txtdiff" size="3"
value=""></td>
<td bgcolor="#CCCCFF"><p>
<!-- ------------------------- เพิ่ม hidden input ที่จำค่าจากฟอร์มก่อนเอาไว้ ------------------------- -->
<input type="hidden" name="txtmolds" value="<?php echo htmlspecialchars($_POST['txtmolds']); ?>" />
<input type="hidden" name="txtmoldm" value="<?php echo htmlspecialchars($_POST['txtmoldm']); ?>" />
<input type="hidden" name="txtmoldl" value="<?php echo htmlspecialchars($_POST['txtmoldl']); ?>" />
<?php
if (!isset($_POST['Rdomold'])) {
$_POST['Rdomold'] = '';
}
?>
<label>
<input <?php if ($_POST['Rdomold'] === $_POST['txtmolds']) { echo 'checked="checked"'; } ?>
type="radio" name="Rdomold" value="<? echo $_POST["txtmolds"]?>" id="RadioGroup1_0">
<? echo $_POST["txtmolds"] ?>
</label>
<br>
<label>
<input <?php if ($_POST['Rdomold'] === $_POST['txtmoldm']) { echo 'checked="checked"'; } ?>
type="radio" name="Rdomold" value="<? echo $_POST["txtmoldm"]?>" id="RadioGroup1_1">
<? echo $_POST["txtmoldm"]?>
</label>
<br>
<label>
<input <?php if ($_POST['Rdomold'] === $_POST['txtmoldl']) { echo 'checked="checked"'; } ?>
type="radio" name="Rdomold" value="<? echo $_POST["txtmoldl"]?>" id="RadioGroup1_2">
<? echo $_POST["txtmoldl"]?>
</label>
<br>
</p></td>
<td bgcolor="#CCCCFF"><label for="select"></label>
<select name="selectring2" id="selectring2">
<option value="ปกติ">ปกติ </option>
<option value="Big">Big</option>
<option value="Small">Small</option>
</select></td>
<td bgcolor="#CCCCFF"><select name="selectcondition2" id="selectcondition2">
<option value="ปกติ">ปกติ </option>
<option value="NG(โลโก้ไม่ตรงตามArtwork)">NG(โลโก้ไม่ตรงตามArtwork)" </option>
<option value="NG(การติดบอลห่างเกินไป)">NG(การติดบอลห่างเกินไป)" </option>
<option value="NG(ไม่สะอาด)">NG(ไม่สะอาด)" </option>
<option value="NG(ไม่สะอาด)">NG(หนังขาด)" </option>
</select></td>
</tr>
<tr>
|
ประวัติการแก้ไข 2013-06-03 16:40:41
|
|
|
|
Date :
2013-06-03 16:39:23 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำได้แล้วนะคะ ได้คำตอบแล้ว ขอบคุณทุกคน ทุกคำตอบมากๆๆนะคะ พอดีติดงานอยู่ เลยไม่ค่อยว่าง ต้องขอโทษด้วยจริงๆค่ะ ขอบคุณค่ะ
|
|
|
|
|
Date :
2013-06-05 14:22:04 |
By :
PattiraPikul |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|