我有一个 HTML 表单(id = "registro"),它通过 POST 发送到 PHP 页面。 我想通过 Ajax 验证它,但它仍然加载 PHP 页面。
打扰一下,我正在学习代码和英语,如果您知道更好的方法,我真的很感激。
这是我的代码:
$(document).ready(init);
function init(){
var usuario = $('#usuario').val;
var contrasena = $('#contrasena').val;
$("#aceptar").click(validacion);
}
function validacion(){
var valido = true;
if(usuario == ""){
$("p").text("Ingrese un nombre de usuario.");
valido = false;
}
if(contrasena == ""){
$("p").text("Ingrese una contraseña.");
valido = false;
}
if(valido){
envioAjax();
}else{
return false; //I think here is the problem but I don't know.
}
}
function envioAjax(){
$.post("registro.php", $('#registro').serialize(), recibir);
return false;
}
function recibir(respuesta){
$("p").text(respuesta);
}
最佳答案
您在使用 val()
时遇到语法问题,并且在用户插入 2 个输入值之前您可能无法获取它们
var usuario = $('#usuario').val //undefined
应该是
var usuario = $('#usuario').val();
但是,您应该在 validacion()
方法中获取这些值
function validacion(){
/* now get the values */
var usuario = $('#usuario').val();
var contrasena = $('#contrasena').val();
/* remainder of your validation code/ ajax */
}
您当前拥有的 usuario
将为 undefined
,因此不等于空字符串。因此 if(usuario =='')
永远不会为 true,因为它与 if(undefined == '')
关于javascript - 为什么我的 Ajax 加载 php 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28970542/