ฟอร์ม กับ Input แบบ Array

มีคำถามเกี่ยวกับ ฟอร์ม และการใช้ Input หรือ อื่นๆ แบบ Array เสมอ ผมรวมมาตอบให้ที่นี่ละกัน

<?
  if ( isset( $_POST[text] ) ) //รับค่า text แบบ array
  {
    foreach ( $_POST[text] as $name => $value )
    {
      echo 'text['.$name.'] = '.$value.'<br />';
    };
  };
  if ( isset( $_POST[ch] ) ) //รับค่า checkbox แบบ array
  {
    foreach ( $_POST[ch] as $name => $value )
    {
      echo 'ch['.$name.'] = '.$value.'<br />';
    };
  };
?>
<form method="post" name="myfrm" action="?" onsubmit="return do_test_submit(this)">
<!--Text box ในแบบ Array-->
<br /><input type="text" name="text[]" value="<?=$_POST[text][0]?>" />
<br /><input type="text" name="text[]" value="<?=$_POST[text][1]?>" />
<br /><input type="text" name="text[]" value="<?=$_POST[text][2]?>" />
<br /><input type="text" name="text[]" value="<?=$_POST[text][3]?>" />
<!--Checkbox ในแบบ Array-->
<br /><input type="checkbox" name="ch[]" value="1" <?=( $_POST[ch][0] == '1' ) ? 'checked="checked"' : '' ; ?> />1
<br /><input type="checkbox" name="ch[]" value="2" <?=( $_POST[ch][1] == '2' ) ? 'checked="checked"' : '' ; ?> />2
<br /><input type="checkbox" name="ch[]" value="3" <?=( $_POST[ch][2] == '3' ) ? 'checked="checked"' : '' ; ?> />3
<br /><input type="submit" name="submit" value="Submit" />
</form>
<script type="text/javascript">
function do_test_submit( frm )
{
  for ( i = 0 ; i < frm.elements.length ; i++ )
  {
    if ( frm.elements[i].type == "text" && frm.elements[i].value == "" ) //ตรวจสอบว่ากรอกข้อความหรือไม่
    {
      alert( 'กรุณากรอกข้อความให้ครบถ้วน' );
      frm.elements[i].focus();
      return false;
    }
    else if ( frm.elements[i].type == "checkbox" && frm.elements[i].checked == false ) //ตรวจสอบว่าได้ขีดถูกหรือไม่
    {
      alert( 'กรุณาเลือกรายการนี้ด้วย' );
      frm.elements[i].focus();
      return false;
    };
  };
  return true;
};
</script>

ดูที่โค้ดกันเลย โค้ดตัวอย่างเป็นการรับ-ส่งค่า input และ checkbox ผ่านฟอร์ม ในแบบ Array รวมไปถีง Javascript ที่ใช้ในการตรวจสอบข้อมูล
ผู้เขียน goragod โพสต์เมื่อ 01 เม.ย. 2551 เปิดดู 24,119 ป้ายกำกับ FormPHP
^