สอบถามค่ะ ทำไมบางคน กรอกข้อมูลไม่ครบ ก็ Submit ฟอร์มได้

เริ่มโดย devilbevil, 28 กรกฎาคม 2012, 21:00:34

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

เฮียเล้ง

บางคนเค้าก็ปิด javascript ใน browser นะครับ

หรือบางทีมี bug เล็กๆ javascript ใน ie ก็เจ๊งครับ การ validate ฝั่ง client ยังไงก็มีปัญหา
[direct=http://ประตูไม้สัก.net]ประตูไม้สัก[/direct] [direct=http://ประตูไม้สัก.net]เฟอร์นิเจอร์ไม้สัก[/direct]

ouiweb

ควรใช้ javascript เพียวนะครับ อย่้าหวังพึ่ง Ajax หรือ Jquery เลย เพราะว่าเราต้องไล่เช็ค Browser ทุกตัวทุกเวอร์ชั่น

function emailValidator(elem){
      var emailExp = /^[^@ ]+@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-]{2}|net|com|gov|mil|org|edu|int)$/;
         if(elem.match(emailExp)){
            return false;
         } else
            return true;
      }
function CheckFrom(){

      if(document.frm_ctu.name.value=="") {
         document.frm_ctu.name.focus();
         return false;
      }else if(document.frm_ctu.email.value=="") {
         document.frm_ctu.email.focus();
         return false;
      }else if (emailValidator(frm_ctu.email.value)) {
         frm_ctu.email.focus() ;
         return false;
      }else if(document.frm_ctu.categories.value==0) {
         document.frm_ctu.categories.focus();
         return false;
      }else if(document.frm_ctu.message.value=="") {
         document.frm_ctu.message.focus();
         return false;
      }else if(document.frm_ctu.code_bspam.value=="") {
         document.frm_ctu.code_bspam.focus();
         return false;
      }else {
         return true;
      }
   }

$(document).ready(function() {
   
   $("#Span_name").hide();
   $("#Span_email").hide();
   $("#Span_chk_EmailValidator").hide();
   $("#Span_categories").hide();
   $("#Span_message").hide();
   $("#Span_code_bspam").hide();
   
   
   $("#button-req").click(function() {
      var bl = true;            
      
      
      if ($("#name").attr('value') =="") {
         bl = false;
         $("#Span_name").show();
      } else {
         $("#Span_name").hide();
      }
      if ($("#email").attr('value') =="") {
         bl = false;
         $("#Span_email").show();
      } else {
         $("#Span_email").hide();
         if (emailValidator($("#email").attr('value'))){
            bl = false;
            $("#Span_chk_EmailValidator").show();
         } else {
            $("#Span_chk_EmailValidator").hide();
         }
      }
      if ($("#categories").attr('value') ==0) {
         bl = false;
         $("#Span_categories").show();
      } else {
         $("#Span_categories").hide();
      }
      if ($("#message").attr('value') =="") {
         bl = false;
         $("#Span_message").show();
      } else {
         $("#Span_message").hide();
      }
      if ($("#code_bspam").attr('value') =="") {
         bl = false;
         $("#Span_code_bspam").show();
      } else {
         $("#Span_code_bspam").hide();
      }
      return bl;
   });
   
});

ผมเช็ค 2 ชั้นเลยทั้ง ajax + Jquery และ JS
[direct=https://thailandherbs.wordpress.com]Pueraria Mirifica[/direct]
[direct=https://thailandreview.wordpress.com]Sardi 190[/direct]
[direct=https://siamreviews.wordpress.com]Sardi 190-Pueraria Mirifica[/direct]
[direct=https://puerariamirificapowder.wordpress.com]Pueraria Mirifica Powder[/direct]
[direct=https://addurlwebsite.wordpress.com]Research on Pueraria Mirifica[/direct]

vinvin

จะเอาชัวร์ต้อง validate ที่ฝั่ง server script ด้วยครับ
ถ้าฝั่ง client scipt เจอ user เก๋าๆหน่อย กันไม่อยู่หรอกครับ ยิงผ่านสบายๆ

devilbevil

อ้างถึงจาก: rtee ใน 01 สิงหาคม 2012, 11:20:25
ลองแก้ไขตามนี้นะครับ

var input = $('input.required,select.required option:selected,textarea.required');

if (!$(this).val() || $(this).val()==0 || !$(this).text())

*** เพราะว่า textarea จะคืนค่าออกมาผ่าน text() ครับ
ส่วน <select> เราต้องบอก jquery ด้วยว่าเลือกเอาตัว option ที่ selected ครับ
$(this).text() ไม่ได้นะคะ ลองแล้ว

อ้างถึงจาก: เฮียเล้ง ใน 01 สิงหาคม 2012, 11:57:54
บางคนเค้าก็ปิด javascript ใน browser นะครับ

หรือบางทีมี bug เล็กๆ javascript ใน ie ก็เจ๊งครับ การ validate ฝั่ง client ยังไงก็มีปัญหา

ถ้าปิด JavaScript ใน Browser จะ Submit ไม่ได้นะคะ เพราะใช้ JavaScript Submit
ส่วน Bug เล็กๆ นั้นก็อาจจะเป็นไปได้ แต่ที่ลองดูส่วนใหญ่ที่กรอกข้อมูลมาทะลุ Client Validate นั้นจะเป็น Chrome หรือ Safari ค่ะ

อ้างถึงจาก: ouiweb ใน 01 สิงหาคม 2012, 12:59:00
ควรใช้ javascript เพียวนะครับ อย่้าหวังพึ่ง Ajax หรือ Jquery เลย เพราะว่าเราต้องไล่เช็ค Browser ทุกตัวทุกเวอร์ชั่น
ผมเช็ค 2 ชั้นเลยทั้ง ajax + Jquery และ JS
อ้างถึงจาก: vinvin ใน 01 สิงหาคม 2012, 13:25:53
จะเอาชัวร์ต้อง validate ที่ฝั่ง server script ด้วยครับ
ถ้าฝั่ง client scipt เจอ user เก๋าๆหน่อย กันไม่อยู่หรอกครับ ยิงผ่านสบายๆ
ขอบคุณค่ะ ตอนนี้เช็ค client และ server แล้วค่ะ ถ้าข้อมูลไม่ครบจะให้กลับไปกรอกใหม่
แต่เท่าที่ดู ยังมีคนที่ทะลุ client validate มาทุกวัน ไม่แน่ใจว่าเป็นเพราะอะไร แต่ก็ไม่ทะลุ sever validate ok แล้วค่ะ
:wanwan013:

ขอบคุณทุกๆ ท่านที่แชร์ความรู้นะคะ
:wanwan017:
[direct=http://www.prakard108.com]ลงประกาศฟรี[/direct]
ศูนย์รวมประกาศซื้อขายสินค้าออนไลน์ทั่วประเทศ

rtee

เอ.. แปลกจัง ผมก็ลองทำดูนะ มันก็เช็คจาก .text() นะ.. แต่ยังไงก็แล้วแต่ ก็ถือว่าปิดเคสนี้ไปได้ละ ^_^

devilbevil

อ้างถึงจาก: rtee ใน 02 สิงหาคม 2012, 21:55:24
เอ.. แปลกจัง ผมก็ลองทำดูนะ มันก็เช็คจาก .text() นะ.. แต่ยังไงก็แล้วแต่ ก็ถือว่าปิดเคสนี้ไปได้ละ ^_^
อ้างด้วย name หรือว่า id หรือว่าอ้างด้วย element อย่างเราอ้าง $('textarea') แบบนี้เลย ลองแล้วไม่ได้อ่าค่ะ แต่ถ้าอ้างแบบอื่น ผลอาจจะต่างกัน
:wanwan013:
[direct=http://www.prakard108.com]ลงประกาศฟรี[/direct]
ศูนย์รวมประกาศซื้อขายสินค้าออนไลน์ทั่วประเทศ