2014-09-29 2 views
0

양식이 jQuery 유효성 검사 플러그인으로 설정되어 있습니다.양식 제출시 javascript 함수 호출 (jquery 양식 유효성 검사 사용)

는 여기를 참조하십시오 http://jsfiddle.net/9q865xof/

그리고 난 내 양식이 플러그인을 추가하기 전에 검증 된 방법에서이 (비 JQuery와) 자바 스크립트 함수가 있습니다.

function busregform(form, password) { 

// new input for hashed password 
var p = document.createElement("input"); 

// create element 
form.appendChild(p); 
p.name = "p"; 
p.type = "hidden"; 
p.value = hex_sha512(password.value); 

// clear plaintext password 
password.value = ""; 

// submit the form 
form.submit(); 
return true; 

} 

자체 파일에도 hex_sha512() 함수가 있습니다.

아이디어는 busregform()을 통해 양식에서 암호를 게시하여 처리 할 PHP 스크립트에 게시 할 해시 암호를 작성하는 것입니다. 내 검증 jQuery 코드이 추가 시도

: 행운으로

submitHandler: function(){ 
    var pw = $("#pass").val(); 
    var form = $("#business-reg-form"); 
    busregform(form,pw); 
} 

... 이제 어떻게해야 할 수 없습니다. 나는 아약스를 사용해야한다고 생각하니?

플러그인 유효성 검사 양식을 제출할 때 어떻게 busregform()을 호출 할 수 있습니까?

답변

0

busregform 방법은 그래서 당신이 필요로 form에 대한 DOM 요소 참조를 기대하고있다

$('#business-reg-form').validate({ 
 
    rules: { 
 
    address: { 
 
     required: true, 
 
     minlength: 6 
 
    }, 
 
    email: { 
 
     required: true, 
 
     email: true, 
 
     minlength: 6 
 
    }, 
 
    company: { 
 
     required: true 
 
    }, 
 
    pass: { 
 
     required: true, 
 
     minlength: 6 
 
    }, 
 
    confirmpw: { 
 
     required: true, 
 
     minlength: 6, 
 
     equalTo: "#pass" 
 
    } 
 
    }, 
 
    submitHandler: function() { 
 
    var pw = $("#pass"); 
 
    var form = $("#business-reg-form"); 
 
    //pass the dom element reference 
 
    busregform(form[0], pw[0]); 
 
    return false; 
 
    } 
 
}); 
 

 
function busregform(form, password) { 
 

 
    // Create a new element input, this will be our hashed password field. 
 
    var p = document.createElement("input"); 
 

 
    // Add the new element to our form. 
 
    form.appendChild(p); 
 
    p.name = "p"; 
 
    p.type = "hidden"; 
 
    p.value = hex_sha512(password.value); 
 

 
    // Make sure the plaintext password doesn't get sent. 
 
    password.value = ""; 
 

 
    // Finally submit the form. 
 
    form.submit(); 
 
    return true; 
 

 
} 
 

 
if (!window.hex_sha512) { 
 
    //stub method 
 
    window.hex_sha512 = function(value) { 
 
    return 'hex_sha512-' + value; 
 
    } 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.js"></script> 
 
<form method="post" name="business_regform" id="business-reg-form" action=""> 
 
    <p> 
 
    <input type="text" name="company" id="company" placeholder="company name" required /> 
 
    </p> 
 
    <p> 
 
    <input type="text" name="address" id="address" placeholder="address" required /> 
 
    </p> 
 
    <p> 
 
    <input type="text" name="email" id="email" placeholder="email" required /> 
 
    </p> 
 
    <p> 
 
    <input type="text" name="pass" id="pass" placeholder="password" required /> 
 
    </p> 
 
    <p> 
 
    <input type="text" name="confirmpw" id="confirmpw" placeholder="confirm password" required /> 
 
    </p> 
 
    <p> 
 
    <input type="submit" class="btn" id="business-reg-submit" value="submit" /> 
 
    </p> 
 
</form>
데모 : Fiddle - 당신은 해시 암호에게 대한

+0

덕분에 많이 볼 수있는 네트워크 탭을 사용하여 요청을 검사 할 수 있습니다 Arun을 도와주세요. 그러나 내가''$ _POST [ 'p'];를 출력하면 그 페이지에는 아무 가치도 없다. 왜 이런 생각 일지 모르겠다. – beyondit01

+0

@ beyondit01 네트워크 탭을 사용하여 요청을 확인할 수 있었습니까 –

+0

아니요 403 금지 된 오류가 있습니까? – beyondit01