เกี่ยวกับการรับค่าวนครับ

พูดคุย แลกเปลี่ยน ปัญหา การเขียน JavaScript เครื่องมือ AJAX Web 2.0 AJAX Framework Jquery

Moderator: mindphp

User avatar
oxygenyoyo
PHP Hero Member
PHP Hero Member
Posts: 140
Joined: 01/01/1970 7:00 am

เกี่ยวกับการรับค่าวนครับ

Post by oxygenyoyo » 02/09/2008 6:38 pm

คือผมทำ form ที่รับค่าโดยสมมติว่าให้เลือกความต้องการ textfiled ก่อนว่าจะเอากี่อันก็ได้ครับเช่น ใส่ 5
ก็จะมี textfield ออกมา ตามจำนวนที่ใส่โดยชื่อของแต่ละ textfiled จะอ้างอิงด้วยชื่อดังนี้อ่ะครับ

<input type="text" name"model_name_<?=$i?>" > ตัวแปร $i ก็ตามครั้งที่รันอ่ะครับ

ทีนี้ผมต้องการที่ว่าจะให้เค้าเลือกค่าเพื่อให้มันมาปรากฎตาม text ที่ปรากฎเช่น

ผมเลือกค่าที่เป็น สตริงว่า "test" แล้วอยากให้มันไปโผล่ที่ model_name_1 ซึ่งตรงจุดนี้ที่มีปัญหาครับ

คือ javascript ไม่สามารถอ้างอิง อย่างนี้ได้อ่ะครับ document.form1.model_name_+no+.value="test"
สมมติว่าตัวแปร no เป็นค่าที่รับเข้ามาในฟังก์ชั่นอ่ะครับเป็นลำดับของ text field ที่ต้องการให้ปรากฎค่าที่เลือก

ผมจึงสงสัยว่ามีวิธีอื่นอีกไหมครับที่พอจะรองรับได้อ่ะครับ

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 23415
Joined: 22/09/2008 6:18 pm
Contact:

Re: เกี่ยวกับการรับค่าวนครับ

Post by mindphp » 02/09/2008 7:10 pm

เอา loop ทำวน ใน javascript ด้วย
Loop
document.form1.model_name_<?php echo $i; ?>.value="test"
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042

User avatar
oxygenyoyo
PHP Hero Member
PHP Hero Member
Posts: 140
Joined: 01/01/1970 7:00 am

Re: เกี่ยวกับการรับค่าวนครับ

Post by oxygenyoyo » 02/09/2008 9:09 pm

ยังไม่ได้่อ่ะครับ

เพราะว่าตัวแปร $i จะอ้างอิงจากไหนอ่ะครับ คือคุณ mindphp ให้ผมทำลูปในฟังก์ชั่นของ javascript อีกหรอครับ ผมเข้าใจถูกต้องไหมครับ

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 23415
Joined: 22/09/2008 6:18 pm
Contact:

Re: เกี่ยวกับการรับค่าวนครับ

Post by mindphp » 02/09/2008 9:29 pm

ทำลูปแบบเดียวกับ ตอนที่ สร้าง input filed เลยครับ แต่ ทำใช้ tag javascript เพื่อให้ php gen javascript ขึ้นมาเหมือนกับ ให้ php gen input field ขึ้นมาใช้

หรือถ้าไม่สะดวกแบบที่แนะนำก็ ใช้ array ใน javascript แทนก็ได้
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042

User avatar
oxygenyoyo
PHP Hero Member
PHP Hero Member
Posts: 140
Joined: 01/01/1970 7:00 am

Re: เกี่ยวกับการรับค่าวนครับ

Post by oxygenyoyo » 02/09/2008 10:05 pm

Code: Select all

<form action="group_create.php" method="post" enctype="multipart/form-data" name="test" id="form1">
  <table width="817" border="1">
    <tr>
      <td colspan="2" align="center">Group Create </td>
    </tr>
    <tr>
      <td>ใส่จำนวนนางแบบที่จะจัดใส่กลุ่ม : 
</td>
      <td width="594"><input name="model_num" type="text" size="3" maxlength="3" onchange="document.test.submit('group_create.php')" /></td>
    </tr>
	<?
	$no=1;
	$model_num	=	$_POST[model_num];
	for($i=1;$i<=$model_num;$i++)
	{
	?>
    <tr>
	
      <td align="right">นางแบบคนที่ <?=$no?> </td>
      <td><input name="model_name_<?=$i?>" type="text"   /> 
      &nbsp; <input type="button" name="model_<?=$i?>" value="เลือกนางแบบ" onclick="model_chose(<?=$i?>)" /></td>
  
    </tr> 
	<?
   $no++;
   }
   ?>
  </table>
</form>
เนี้ยอ่ะครับโค้ด คือผมทดลองแค่ให้ค่ามันโชว์ตามกับ field ที่เลือกยังทำไม่ได้เลยอ่ะครับ

สมมติว่าฟังก์ชั่น model_chose() ให้โชว์คำว่า test ตรงกับช่องที่คลิกปุ่มเลือกอ่ะครับ

ผมลองเป็นตัวสตริงธรรมดาอ่ะได้แต่เป็นตัวแปรต่อไม่ได้อ่ะครับเช่น

document.test.model_name_1.value = "test"; << อย่างนี้ได้ชัวร์

document.test.show.value= "test"; << โดยตัวแปร show = model_name_1

อ่ะครับ

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 23415
Joined: 22/09/2008 6:18 pm
Contact:

Re: เกี่ยวกับการรับค่าวนครับ

Post by mindphp » 02/09/2008 10:55 pm

document.test.model_name_1.value = "test"; << อย่างนี้ได้ชัวร์
ที่นี่แนะ แบบนี้เลยครับ ให้ ใช้ php gen javascript ขึ้นมาเพื่อ ให้มันทำงานใน ลักษณะ แบบนั้น
่เช่น
เปิด javascript
คำสั่งของ javascript จะเขียน เป็น function ขึ้นมาก็ได้ โดยข้างใน มี
<?php
$model_num = $_POST['model_num'];
for($i=1;$i<=$model_num;$i++) {
echo 'document.test.model_name_'.$i.'.value = "**********"';// << ค่าตามที่ต้องการจะใส่
}
?>

ปิด javascript

ปล.เขียนสดลองเอาไป รันดูครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042

User avatar
oxygenyoyo
PHP Hero Member
PHP Hero Member
Posts: 140
Joined: 01/01/1970 7:00 am

Re: เกี่ยวกับการรับค่าวนครับ

Post by oxygenyoyo » 02/09/2008 11:08 pm

ขอบคุณครับ

แต่ผมยังไม่ได้ลองคือพอดีเจอทางอื่นที่พอจะแถไปได้บ้างอ่ะ แฮะๆ

แต่ยังไงผมต้องกลับมาลองแน่นอนครับ

Post Reply

Return to “JavaScript & Jquery Ajax”

Who is online

Users browsing this forum: No registered users and 2 guests