รบกวนถามเรื่องเช็คค่าว่างของ array
พอดีผมมีโค้ด javascrip เช็คค่าว่างของฟอร์ม บังคับให้กรอกน่ะครับ แต่มันจะใช้ไม่ได้กับ กรณี ที่ฟอร์มรับค่านั้นเป็น array วัตถุประสงค์คือผมจะทำฟอร์ม upload ครั้งละหลายๆ ไฟล์ โค้ดจะประมาณนี้ครับ For ($i=1; $i<+$nfile; $i++) { //วนรอบทำอินพุทตามจำนวน $nfile echo "ชื่อรูปที่ $i <input type=\"text\" name=\"title[]\"> <font size='2' color='red'>*</font>"; echo " เลือกไฟล์ที่ $i <input name=\"userfile[]\" type=\"file\"> <font size='2' color='red'>*</font><br>"; } ส่วนโค้ด javascript สำหรับเช็คคือ <script language="javascript"> function checkfrm() { if(document.checkformder.title.value=="") { alert("กรุณากรอกหัวข้อ ด้วยครับ") ; document.checkformder.title.focus() ; return false ; } else if(document.checkformder.userfile.value=="") { alert("กรุณาระบุไฟล์รูปด้วยครับ") ; document.checkformder.userfile.focus() ; return false ; } else return true ; } </script> ผมเองก็ไม่ค่อยเก่ง java ด้วยก็เลยอยากจะสอบถามอาจารย์หรือเพื่อนๆ สมาชิกท่านอื่นว่าจะแก้ไขโค้ดยังไง ขอบคุณล่วงหน้าครับ
อีกอย่างโค้ดเดิมมันก็ส่งค่าไปได้เป็นปกติ เช่น title[] ก็ส่งค่าชื่อรูปไปได้ครับ
แต่ยังไงก็ขอบคุณที่ช่วยตอบครับ ก็รอผู้รู้ต่อไป แหะๆๆ
ขอบคุณค้าบ เดี๋ยวจะลองไปปรับแต่งดู
ได้ผลยังไงเดี๋ยวผมมาแจ้งอีกทีครับ
พอดีแค่อยากลองทำให้ได้ พอมันไม่ได้มันก็เลยค้างคาใจน่ะครับ อิๆๆ
จริงๆ ผมก็ไม่ได้ strick มาก บางทีคงต้องปล่อยวาง อย่างที่อาจารย์บอกละ
ไม่เห็นจะเกี่ยวเลย ถึงยังไงมันก็สร้างโดยวิธีเดียวกัน $nfile จะเป็นเท่าไร มันก็ไม่ได้มีผลอะไรกับ Javascript นี่ครับ
ผมแนะนนำแบบนี้สิครับ ดัดแปลงเอาแบบ checkbox ไปใช้ คือแค่ตรวจว่า มีการเลือกไฟล์อย่างน้อย 1 ตัวก็พอ ไม่จำเป็นต้องตรวจทุกตัว
อ่า อาจารย์เปลี่ยนคำแนะนำ
ครับ เดี๋ยวจะลองปรับดูอีกรอบค้าบ
แต่มาปรับบางส่วนให้ตรงกับความต้องการ อย่างที่บอกก็เช่น ใช้เป็น member gallery
ถ้าบอกตามตรงผมก็ยังไม่ค่อยเข้าใจความหมายนะครับ แต่เดี๋ยวผมให้ดูโค้ดรับค่า
Foreach ($_FILES[userfile][error] as $key => $error) {
if($error == 0) { #upload_error_ok ถ้าอัพโหลดสำเร็จ ไม่ error
$title=trim($_REQUEST[title][$key]);
$typefile=$_FILES[userfile][type][$key];
$sizefilest=$_FILES[userfile][size][$key];
$tmp_name=$_FILES[userfile][tmp_name][$key];
$newname=$_FILES[userfile][name];
ตามนี้เลยครับ พอประมวลผลสุดท้าย มันกลับบอกค่าของ title ได้ ส่วนนี้อาจารย์อาจจะแนะนำได้ดีกว่าผม
เพราะผมเอง อาศัยสังเกตุโค้ดเอาครับ ไม่ได้เข้าใจหลักการอะไร เพียงแต่เห็นว่าเป็นไปได้ ก็จะลองแก้ดู ถ้าได้ก็ถือว่าโชคดี
ถ้าไม่ได้ ก็มาถามที่นี่ หรือไม่ก็ถามผู้รู้ท่านอื่นๆ อย่างที่บอร์ดนี้ ครับ อิๆ ผมเองก๋ไม่มีพื้นฐานพวกนี้เท่าไหร่
บางทีก็ชอบไล่อ่านคำถามกับคำตอบ เพราะได้ความรู้ไปในตัว หลายครั้งก็มีคนถามตรงใจเราพอดี เอิ้กๆ
$_REQUEST[title][$key]
Dynamic ดีครับ