gpt4 book ai didi

javascript - 修复 jQuery 验证 + php 检查用户退出

转载 作者:行者123 更新时间:2023-11-28 07:53:21 24 4
gpt4 key购买 nike

我正在尝试添加一个表单,该表单使用 jQuery validate 进行验证,以及一个 PHP 脚本,用于检查用户 (usuario) 是否退出。每个用户都有不同的文件夹。为了检查用户是否退出,我检查文件夹是否存在,如果存在,则告诉存在错误,并且我不想停止提交表单。如果没有,我使用用户名创建子文件夹并创建该文件夹。

目前,我使用AJAX解决方案,但PHP未执行,并且不会在其上打印任何回显。我一直在阅读有关 AJAX 和 jQuery 验证中的远程属性的更多信息,但无论哪种方式我都无法让我的功能发挥作用。

使用 Ajax(或者我所理解的 ajax)

submitHandler: function(form) {
var username = $(this).val();
$.post('check_user.php', {'usuario':username}, function(data) {
$("#user-result").html(data);
form.submit();
});
}

带 Remote

"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();
});
}

关于javascript - 修复 jQuery 验证 + php 检查用户退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26476242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com