固定jQuery验证+php检查用户出口
FIXED jQuery Validate + php check user exits
我正试图添加到一个表单中,该表单通过jQuery validate和一个PHP脚本进行验证,在该脚本中我检查用户(usuario
)是否退出。每个用户都有不同的文件夹。为了检查用户是否退出,我检查文件夹是否存在,然后如果存在,则告知存在错误,并且我不想阻止表单提交。如果没有,我用用户名创建子文件夹并创建文件夹。
目前,我使用AJAX解决方案,但PHP没有执行,也不会在上面打印任何回声。我已经阅读了更多关于AJAX和jQuery-validate中远程属性的内容,但这两种方式都无法使我的功能发挥作用。
使用Ajax(或者我所理解的Ajax)
submitHandler: function(form) {
var username = $(this).val();
$.post('check_user.php', {'usuario':username}, function(data) {
$("#user-result").html(data);
form.submit();
});
}
使用远程
"usuario":{
required: true,
rangelength: [3, 10],
remote: {
url: "check-user.php",
type: "get",
data:{
usuarios: function(){
return $('#usuario').val();
}
}
}
}
我的PHP
<?php
$user = $_REQUEST['usuario'];
$dir = "usuarios/$user";
if (!file_exists($dir)) {
echo 'true';
} else {
if(!mkdir($dir, 0777, true)) {
echo 'Fallo al crear las carpetas...'
}
$doc = new_xmldoc('1.0');
$root = $doc->add_root('historial');
$fp = @fopen('historial.xml','w');
if(!$fp) {
echo 'Fallo al crear historial.xml'
}
fwrite($fp,$doc->dumpmem());
fclose($fp);
echo 'true';
}
?>
我的表单(HTML)
<form id="register" action="index.php" method="post" onsubmit="return validateForm();">
<div class="elRegister"><label>Usuario:</label>
<input name="usuario" id="usuario" type="text" size="16"></div>
更新:正确关闭括号我仍然有问题。规则很好,但在正确填写表格后,当我按下提交按钮时,什么都没有。如果我的表单中有错误,它将正确地显示错误。我的脚本将具有以下结构:
<script type="text/javascript">
(function($, W, D) {
var validaForm = {};
validaForm.UTIL =
{
setupFormValidation: function()
{
//Reglas de validacion
$("#register").validate({
debug:true,
rules: {
},
messages: {
},
submitHandler: function(form) {
var username = $(this).val();
$.post('check_user.php', {'usuario':username}, function(data) {
$("#user-result").html(data);
form.submit();
});
}
});
}
}
$(D).ready(function($) {
validaForm.UTIL.setupFormValidation();
});
})(jQuery, window, document);
</script>
感谢您所做的一切,如果您需要我的代码中的更多内容,只需询问即可。
固定的我终于解决了这个问题。我在这里找到了解决方案:YouTube解决方案是同时使用ajax和远程规则。使用远程规则,我检查用户是否存在,使用ajax,我覆盖表单提交并编写另一个表单,看起来像:
$("#register").submit(function() {
var valido = $("#register").valid();
if(valido){
var $inputs = $('#register :input');
// not sure if you wanted this, but I thought I'd add it.
// get an associative array of just the values.
var values = {};
$inputs.each(function() {
values[this.name] = $(this).val();
});
alert("Formulario valido");
$.get("crear_usuario.php",values);
}
else{
alert("Formulario no valido");
}
});
谢谢你的回答!
您没有正确关闭submitHandler。这是固定代码。
submitHandler: function(form) {
var username = $(this).val();
$.post('check_user.php', {'usuario':username}, function(data) {
$("#user-result").html(data);
form.submit();
});
}
相关文章:
- 从远程脚本获取用户IP
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- d3基于用户选择动态更新节点
- 同步调用,直到用户通过angular验证为访问者
- 使用javascript搜索具有用户输入的数组
- 如何使用jquery确定用户是否年满18岁
- Meteor-添加用户自定义字段的方法不起作用
- React Native通过Navigator将用户输入数据传递到选项卡栏IOS中的组件
- 跟踪用户点击Adsense广告的IP地址
- 使用javascript反复检查用户在facebook上的登录状态
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 如何检查用户在html5视频播放器中观看了完整的视频
- 一个密码测试程序,如果存在空格,它会提醒用户
- 如何使用JavaScript中的用户输入创建序列/序列
- 当用户按下回车键时,自动在text区域/text中插入消息
- 显示某个用户ID的某个标签的30张Instagram图片
- 将当前用户的 ID 推送到 meteorjs 中集合/文档的内部数组
- javascript跨浏览器确定用户是否滚动到页面底部
- JSON获取用户id's在嵌套数组中
- 固定jQuery验证+php检查用户出口