2011-12-29 9 views
2

고객의 사용자 이름으로 입력을받는 간단한 HTML 양식을 만들었습니다. 실제로 유효한 사용자 이름인지 여부를 확인합니다. 그렇다면 step2.php 페이지로 이동해야합니다. 그렇지 않으면 오류가 표시되고 원본 페이지에 그대로 있어야합니다.HTML 양식 유효성 검사

<form method="post" onsubmit="validateUsername();" id="myform" name="myform" action="step2.php"> 
     Choose username: <input type="text" id="username" name="username" /> 
     <input type="submit" value="Submit"> 
</form> 

내가 자바 스크립트 함수를 사용하여 사용자 이름을 확인하는 오전 : : 여기

내 HTML 코드입니다

function validateUsername() 
{ 
    var x=document.forms["myform"]["username"].value.length; 

    if (x < 5) 
    { 
     alert('Username too short.'); 
     return false; 
    } 
    else 
    { 
     return true; 
    } 
} 

내 문제 : 사용자는 짧은 이름을 입력

경우 "Username too short"라는 경고 메시지를 표시합니다. 경고 메시지에서 "OK"버튼을 누르면 step2.php로갑니다. 이상적으로는 사용자 이름이 올바르게 검증 된 경우에만 step2.php로 데이터를 보내야합니다. 그러나 이것은 일어나지 않습니다.

누구든지 내 코드에서 버그를 찾을 수 있습니까?

+0

는 (많은 자바 스크립트를 사용하지 않는),하지만 난 당신이를 방지하기 위해 제출 버튼의'onclick' 트리거에 체크를 넣어 생각 양식을 제출하십시오. – animuson

+0

@animuson : 그들은 여전히 ​​Enter 또는 비슷한 것을 눌러 양식을 제출할 수 있습니다. – Ivan

답변

4

변경 :

<form method="post" onsubmit="validateUsername();" id="myform" name="myform" action="step2.php"> 
     Choose username: <input type="text" id="username" name="username" /> 
     <input type="submit" value="Submit"> 
</form> 

사람 :

<form method="post" onsubmit="return validateUsername();" id="myform" name="myform" action="step2.php"> 
     Choose username: <input type="text" id="username" name="username" /> 
     <input type="submit" value="Submit"> 
</form> 

참고 false의 경우 validateUsername 수익을 제출에서 양식을 취소해야 키워드 return의 추가.

3

시도해보십시오. 다른 주에 또

<form method="post" onsubmit="return validateUsername();" id="myform" name="myform" action="step2.php"> 
     Choose username: <input type="text" id="username" name="username" /> 
     <input type="submit" value="Submit"> 
</form> 

을 (형태 onsubmit에 수익을 추가) 클라이언트 측 유효성 검사를 쉽게 우회 할 수 있기 때문에, 당신은 또한 2 단계에서이 여물 PHP를 확인해야합니다.

onsubmit="return validateUsername();" 

.. 또는 사용 event.preventDefault() :

+0

안녕 SiN, 나는 또한 서버 쪽에서 유효성을 검사하고있다. 감사합니다 :) –

+0

좋아 좋아. 제발 수정이 당신을 위해 작동한다면, 정확한 대답으로 이반의 대답을 표시, 그는 일찍 답장. 감사합니다 – SiN

2

함수를 호출하기 전에 return 추가

onsubmit="if(!validateUsername()) event.preventDefault();" 
0

먼저 당신의 HTML 양식, 형태

의 onsubmit 이벤트에 자바 스크립트 함수 전에 반환을 사용하지 않는
<form method="post" onsubmit="validateUsername();" id="myform" name="myform"  action="step2.php"> 
    Choose username: <input type="text" id="username" name="username" /> 
    <input type="submit" value="Submit"> 

이제 자바 스크립트 함수, 당신은 사용자 이름이 그것이

function validateUsername() 

{ var에 X를 step2.php하는 형태와 포스트 데이터를 제출한다, 그렇지 않으면 양식을 제출하지 않습니다 이하 5 문자 다음 경우에만 하나의 조건을 제공해야 = document.myform.username.value.length; 내가 기억하지 않는

if (x < 5) 
{ 
    alert('Username too short.'); 
    return false; 
} 

}

+0

또한 onclick 이벤트에 javascipt 함수를 호출 할 수 있습니다. – utsav

0
function validation(){ 

    var eid=$.trim($('#email').val()); 
    var password=$.trim($('#password').val()); 
    var emailval =/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z])+/; 
    var con=/^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/; 

    var errmsg=''; 
    var c=0; 
    var cur_el=''; 
    if(eid=='' || eid==null) 
    { 
     errmsg="enter your email"; 
     cur_el=$('#email'); 
     c=1; 
    } 
    else if (!emailval.test(eid)) { 
     errmsg="Please provide a valid email address (hints : [email protected])"; 
     cur_el=$('#email'); 
     c=1; 
    } 

    else if(password=='') 
    { 
     errmsg="enter password"; 
     cur_el=$('#password'); 
     c=1; 
     } 
     else if(password.length<4) 
    { 
     errmsg="password is too short"; 
     cur_el=$('#password'); 
     c=1; 
     } 
     if(c==1 && errmsg!=''){ 
     alert(errmsg); 
     cur_el.focus(); 
     return false; 
    } 
    else 
     {return true;} 
} 
function adminprofilevalidation(){ 
    var ad_uname=$.trim($('#admin_username').val()); 
    var ad_oldpass=$.trim($('#admin_passo').val()); 
    var ad_newpass=$.trim($('#admin_pass').val()); 
    var ad_repass=$.trim($('#admin_passc').val()); 
    var ad_email=$.trim($('#admin_email').val()); 
// var eid=$.trim($('#email').val()); 
// var password=$.trim($('#password').val()); 
    // var cpassword=$.trim($('#cpassword').val()); 
// var file=$('#file').val(); 

    var errmsg=''; 
    var c=0; 
    var cur_el=''; 
    //var em=/^([a-zA-Z0-9_.-])[email protected]([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/; 
    var alphaExp = /^[a-zA-Z]+$/; 
// var alphaNum = /^[0-9a-zA-Z]+$/; 
// var digit = /^[0-9]+$/; 
// var fdigit=/^[0]+$/; 
    var emailval = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z])+/; 
    var con=/^\(?([0-9]{2})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/; 

    if(ad_uname=='' || ad_uname==null) 
    { 
     errmsg="Enter User name"; 
     cur_el=$('#admin_username'); 
     c=1; 
    } 
    else if(!ad_uname.match(alphaExp)){ 
     errmsg="Please enter only letters for your name"; 
     cur_el=$('#firstname'); 
     c=1; 
    } 
    else if(ad_oldpass=='' || ad_oldpass==null) 
    { 
     errmsg="enter Old password"; 
     cur_el=$('#admin_passo'); 
     c=1; 
    } else if(ad_oldpass.length<4) 
    { 
     errmsg="password is too short"; 
     cur_el=$('#admin_passo'); 
     c=1; 
     } 

     else if(ad_newpass=='' || ad_newpass==null) 
    { 
     errmsg="please enter new password"; 
     cur_el=$('#admin_pass'); 
     c=1; 
    } 
    else if(ad_newpass.length<4) 
    { 
     errmsg="password is too short"; 
     cur_el=$('#admin_pass'); 
     c=1; 
     } 
    else if(ad_repass=='' || ad_repass==null) 
    { 
     errmsg="please re enter the password"; 
     cur_el=$('#admin_passc'); 
     c=1; 
    } 
    else if(ad_repass.length<4) 
    { 
     errmsg="password is too short"; 
     cur_el=$('#admin_passc'); 
     c=1; 
     } 




    else if(ad_email=='' || ad_email==null) 
    { 
     errmsg="Enter your email"; 
     cur_el=$('#admin_email'); 
     c=1; 
    } 
    else if (!emailval.test(ad_email)) { 
     errmsg='Please provide a valid email address (hints : [email protected])'; 
     cur_el=$('#admin_email'); 
     c=1; 
    } 




    if(c==1 && errmsg!=''){ 
     alert(errmsg); 
     cur_el.focus(); 
     return false; 
    } 
    else 
     {return true;} 


} 


function companyprofilevalidation(){ 
    var co_name=$.trim($('#company_name').val()); 
    var co_pcntact=$.trim($('#company_contact_person').val()); 
    var co_add=$.trim($('#company_address').val()); 
    var co_phn=$.trim($('#company_phone').val()); 
    var co_email=$.trim($('#company_email').val()); 


    var errmsg=''; 
    var c=0; 
    var cur_el=''; 
    //var em=/^([a-zA-Z0-9_.-])[email protected]([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/; 
    var alphaExp = /^[a-zA-Z]+$/; 
// var alphaNum = /^[0-9a-zA-Z]+$/; 
      var digit = /^[0-9]+$/; 
     var fdigit=/^[0]+$/; 
    var emailval = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z])+/; 
    var con=/^\(?([0-9]{2})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/; 

    if(co_name=='' || co_name==null) 
    { 
     errmsg="Enter Company name"; 
     cur_el=$('#company_name'); 
     c=1; 
    } 

    else if(co_pcntact=='' || co_pcntact==null) 
    { 
     errmsg="enter Person Contact name"; 
     cur_el=$('#company_contact_person'); 
     c=1; 
    } 

     else if(co_add=='' || co_add==null) 
    { 
     errmsg="please enter company address"; 
     cur_el=$('#company_address'); 
     c=1; 
    } 

    else if(co_phn=='' || co_phn==null) 
    { 
     errmsg="please enter company phone no"; 
     cur_el=$('#company_phone'); 
     c=1; 
    } 
     else if(fdigit.test(co_phn)){ 
     errmsg="first digit must be non zero"; 
     cur_el=$('#company_phone');  
     c=1; 
     } 
     else if(co_phn.length<10) 
    { 
     errmsg="please give 10 digit no"; 
     cur_el=$('#company_phone'); 
     c=1; 
     } 




    else if(co_email=='' || co_email==null) 
    { 
     errmsg="Enter your email"; 
     cur_el=$('#company_email'); 
     c=1; 
    } 
    else if (!emailval.test(co_email)) { 
     errmsg='Please provide a valid email address (hints : [email protected])'; 
     cur_el=$('#company_email'); 
     c=1; 
    } 



    if(c==1 && errmsg!=''){ 
     alert(errmsg); 
     cur_el.focus(); 
     return false; 
    } 
    else 
     {return true;} 

// else if(file=='') 
//  { 
//   errmsg="upload your photo"; 
//   cur_el=$('#uploadfile'); 
//   c=1; 
//  } 
//  else if(fdigit.test(phone)){ 
//   errmsg="first digit must be non zero"; 
//   cur_el=$('#phone'); 
//   c=1; 
//  } 
} 


function jobaddvalidation(){ 


    var errmsg=''; 
    var c=0; 
    var cur_el=''; 
    //var em=/^([a-zA-Z0-9_.-])[email protected]([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/; 
    var alphaExp = /^[a-zA-Z]+$/; 
// var alphaNum = /^[0-9a-zA-Z]+$/; 
      var digit = /^[0-9]+$/; 
     var fdigit=/^[0]+$/; 
    var emailval = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z])+/; 
    var con=/^\(?([0-9]{2})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/; 

    var jtitle=$.trim($('#job_title').val()); 
    var jsummery=$.trim($('#job_summery').val()); 
    // var jdescription=$.trim($('#job_description').val()); 
    var cid=$.trim($('#category_id').val()); 
    var jreq=$.trim($('#job_requirements').val()); 
    var jcdetails=$.trim($('#job_contact_details').val()); 
    var jcpname=$.trim($('#job_contact_person_name').val()); 
    var jcpemail=$.trim($('#job_contact_person_email').val()); 
    var jacdetails=$.trim($('#job_additional_contact_details').val()); 
    var jscopy=''; 
     if(document.form1.job_scan_copy.checked){ 
     jscopy=$.trim($('#job_scan_copy').val()); 
    } 

    var jnscopy=''; 
    jnscopy=$.trim($('#job_no_scan_copy').val()); 
    var jloc=$.trim($('#job_location').val()); 
    var jctc=$.trim($('#job_ctc').val()); 
    var jureq=$.trim($('#job_upload_requirement').val()); 

    if(jtitle==null || jtitle=='') 
    { 
     errmsg="please give job title"; 
     cur_el=$('#job_title'); 
     c=1; 
    }else if(jsummery==null || jsummery=='') 
    { 
     errmsg="please give job summery "; 
     cur_el=$('#job_summery'); 
     c=1; 
    } 
// else if(jdescription==null || jdescription=='') 
// { 
//  errmsg="please mention job description"; 
//  cur_el=$('#job_description'); 
//  c=1; 
// } 
    else if(cid==null || cid=='') 
    { 
     errmsg="please give category name"; 
     cur_el=$('#category_id'); 
     c=1; 
    }else if(jreq==null || jreq=='') 
    { 
     errmsg="please give job requirement"; 
     cur_el=$('#job_requirements'); 
     c=1; 
    } 

    else if(jcdetails==null || jcdetails=='') 
    { 
     errmsg="please give job contact details"; 
     cur_el=$('#job_contact_details'); 
     c=1; 
    }else if(jcpname==null || jcpname=='') 
    { 
     errmsg="please give job contact person name"; 
     cur_el=$('#job_contact_person_name'); 
     c=1; 
    }else if(jcpemail==null || jcpemail=='') 
    { 
     errmsg="please give job contact person email"; 
     cur_el=$('#job_contact_person_email'); 
     c=1; 
    }else if(!emailval.test(jcpemail)) 
    { 
     errmsg="please give valid job contact person email"; 
     cur_el=$('#job_contact_person_email'); 
     c=1; 
    }else if(jacdetails==null || jacdetails=='') 
    { 
     errmsg="please give job additional contact details"; 
     cur_el=$('#job_additional_contact_details'); 
     c=1; 
    }else if((jscopy!='' && jnscopy=='') || (jscopy=='' && jnscopy!='')) 
    { 
     errmsg="please give both scan copy and no scan copy OR both un select"; 
     cur_el=$('#job_scan_copy'); 
     c=1; 
    }else if(jloc==null || jloc=='') 
    { 
     errmsg="please mention job location"; 
     cur_el=$('#job_location'); 
     c=1; 
    }else if(jctc==null || jctc=='') 
    { 
     errmsg="please mention job C T C"; 
     cur_el=$('#job_ctc'); 
     c=1; 
    } 



    if(c==1 && errmsg!=''){ 
     alert(errmsg); 
     cur_el.focus(); 
     return false; 
    } 
    else 
     {return true;} 

} 
+0

설명을 추가하십시오. –