我正在使用jquery.validationEngine,并将其用于我的注册和登录表单。我可以使用来自评论here的javascript来对密码字段进行哈希处理,然后再将其发送到服务器以进行额外的哈希并保存到数据库中。但是,我无法调用哈希脚本,然后让表单继续提交。有人能指出我正确的方向吗?
哈希剧本:
function formhash(form, password, p) {
p.value = hex_sha512(password.value);
password.value = "";
验证员的相关负责人:我无法弄清楚问号串的代码。我尝试了许多不同的组合,似乎无法得到它。验证有效,但如果验证通过,表单将提交而不运行我的formhash脚本。
<script>
jQuery(document).ready( function() {
jQuery("#login").validationEngine('attach',
{onValidationComplete: function(form, status){
if (status == true) {
$("form#login").bind('submit', function(e) {
e.preventDefault();
});
// your function or your action
???????????????????
}
}
});
</script>
答案 0 :(得分:2)
好吧,我明白了,并且认为我会分享任何其他人学习所有这些。关于验证器的文档不多,尽管我的主要问题是javascript。注意,我希望验证器在出现错误时停止表单,如果验证通过,我的函数提交表单就可以了......
删除绑定语句并将问题中的问号替换为您的函数
<script>
jQuery(document).ready( function() {
jQuery("#formID").validationEngine('attach',{
onValidationComplete: function(form, status){
if (status == true){
YourFunction();}}});
});
</script>
使用DOM方法访问表单变量并提交表单,例如
function YourFunction() {
var password = document.getElementById("password");
document.forms["formID"].submit();
}
为我工作。希望这有助于将来的某个人!
答案 1 :(得分:0)
是的Chris,onValidationComplete需要一个布尔值
你需要
$('#form1').validationEngine('attach', {
onValidationComplete: function(form, status){
if (status) {
startProgressBar();
YouFunctionPreLoad();
return true;
}
}
});