<html> <head> <title>upload</title> <script> function chk_pic(){ //------check file upload var file=document.form1.filepic.value; var f_name=document.forms.form1.name.value; //----- check pay null var patt=/(.gif|.jpg|.png|.bmp)/; var result=patt.test(file); if (f_name==null||'') {alert("กรุณาระบุชื่อในช่องName"); return result; } if(!result){ alert('file type is wrong (jpg,png,gif,bmp only)\n กรุณาแนบเฉพาะไฟล์ภาพ'); } return result; } //------check file upload </script> </head> <body> <form name="form1" method="post" action="upload02test.php" enctype="multipart/form-data" onSubmit="return chk_pic()"> Name : <input type="text" name="knumber"><br> Picture : <input type="file" name="filepic"><br> <input name="btnSubmit" type="submit" value="Submit"> </form> </body> </html>
function chk_pic(){ //------check file upload //var f_name=document.forms.form1.input_name.value; //----- check pay null var f_name=form1.input_name.value; // เขียนแบบสั้นๆ ก็ได้ // แต่เปลี่ยนชื่อ name="name" เป็น name="input_name" ป้องกันตัวแปรภาษาสับสน // เพราะ name มันเป็นชื่อของ attribute อาจทำให้ตัวแปรคอมไพล์ สับสนได้ //if (f_name==null||'') { f_name ถูกกำหนดค่าไว้แล้ว จาก input box ไม่ทีทางเป็น null เปลี่ยนวิะีการตรวจสอบเป็น if (f_name.length==0) { alert("กรุณาระบุชื่อในช่องName"); //return result; ส่งค่าออกไป เท่ากับเป็นจริง ก็จะเข้าเคส submit จึงทำงานต่อได้ form1.input_name.focus(); // ไป focus ตัวที่ผิด พร้อมจะทำงานต่อ return false; // ส่งค่า false ยุติการ submit } var file=form1.filepic.value; //var patt=/(.gif|.jpg|.png|.bmp)/; รูปแบบ regular expression ผิด var patt=/\.(gif|jpg|png|bmp)$/; // . จุด เป็นอักษรพิเศษไว้ใช้แทนอักษรอะไรก็ได้ ถ้าไม่ escape จะถือว่าอักษรอะไรก็ได้ // และถ้าคน upload ใส่ชื่อไฟล์เป็น hackjpg.exe ก้จะสามารถ upload ไฟล์ได้ // พร้อมทั้งใส่ $ เพื่อกำหนดว่าอักษรหลังสุดต้องเป็น นามสกุลไฟล์ที่กำหนด var result=patt.test(file); if(!result){ alert('file type is wrong (jpg,png,gif,bmp only)\n กรุณาแนบเฉพาะไฟล์ภาพ'); document.form1.filepic.focus(); return false; // อย่าลืมถ้าไม่ต้องการให้ submit ทำงานต่อ ต้องส่งค่า false กลับคืนไป } // return result; ไม่ต้องส่งค่าอะไรออกไป ก็ถือว่าการ summit สมบูรณ์ // ถ้าอยากให้ยุติการ submit ต้อง ส่งค่า false ออกไปเท่านั้น ถีงจะยุติการทำงานของการ submit }
เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง