A-AA+then

มีคำถามเกี่ยวกับ ฟอร์ม และการใช้ 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.type == "text" && frm.elements.value == "" )//ตรวจสอบว่ากรอกข้อความหรือไม่
    {
      alert( 'กรุณากรอกข้อความให้ครบถ้วน' );
      frm.elements.focus();
      return false;
    }
    else if ( frm.elements.type == "checkbox" && frm.elements.checked == false )//ตรวจสอบว่าได้ขีดถูกหรือไม่
    {
      alert( 'กรุณาเลือกรายการนี้ด้วย' );
      frm.elements.focus();
      return false;
    };
  };
  return true;
};
</script>

ดูที่โค้ดกันเลย โค้ดตัวอย่างเป็นการรับ-ส่งค่า input และ checkbox ผ่านฟอร์ม ในแบบ Array รวมไปถีง Javascript ที่ใช้ในการตรวจสอบข้อมูล

FormPHP

Relate

^