gpt4 book ai didi

javascript - json数组值没有传回jquery

转载 作者:行者123 更新时间:2023-11-28 19:00:39 25 4
gpt4 key购买 nike

嗨,我正在尝试动态验证我的注册表单,以便当用户使用 jquery 和 php 在输入字段中输入值时进行检查。非常感激任何的帮助。

html

   <DOCTYPE html>

<html lang="en">

<head>
<meta charset="utf-8">
<title>jQuery Tutorial</title>
</head>

<body>
<form>
<input type="text" id="fname" size ="25" placeholder="firstname" />
<span id="fname_feedback"></span></br></br>
<input type="text" id="lname" size ="25" placeholder="firstname" />
<span id="lname_feedback"></span></br></br>
<input type="submit" id="reg" value="sign up">
</form>

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/reg.js"></script>
</body>

</html>

jquery

function validate(fname, lname){
$.post('php/registration.php', {fname: fname, lname: lname}, function(data){

$('#fname_feedback').text(data.fname);
$('#lname_feedback').text(data.lname);
;
},'json');
}

$('#fname').focusin(function(){
if($('#fname').val() ==='') {
$('#fname_feedback').text('requried field');
} else {

validate($('#fname').val());

}
}).blur(function() {

$('#fname_feedback').text('');

validate($('#fname').val());

}).keyup(function(){

validate($('#fname').val());

});

$('#lname').focusin(function(){
if($('#lname').val() ==='') {
$('#lname_feedback').text('requried field');
} else {

validate($('#lname').val());

}
}).blur(function() {

$('#lname_feedback').text('');

validate($('#lname').val());

}).keyup(function(){

validate($('#lname').val());

});

php

<?php

require '../init.php';
$fname_error= '';
$lname_error='';

if(isset($_POST['fname']))
{
$fname = $_POST['fname'];

//updated if statement
if (strlen($fname) < 5)
{
$fname_error = 'example error message';
} else {

$fname_error = 'example';
}
}

if(isset($_POST['lname']))
{
$lname = $_POST['lname'];

//updated if statement
if (strlen($lname) < 5)
{
$lname_error = 'example error message';
} else {

$lname_error = 'example';
}
}


$return_data=array('fname'=> $fname_error, 'lname'=>$lname_error);

header('Content-Type: application/json');
echo json_encode($return_data);
exit();
?>

最佳答案

你需要使用jquery的parseJSON函数来使用返回数据,所以在validate函数中的行将是这样的

var obj = jQuery.parseJSON(data);
$('#fname_feedback').text(obj.fname);

我 Controller 需要这样添加

<?php

require '../init.php';
$fname_error= '';

if(isset($_POST['fname']))
{
$fname = $_POST['fname'];

//updated if statement
if (strlen($fname) < 5)
{
$fname_error = 'example error message';
}
}

$return_data=array('fname'=> $fname_error);

header('Content-Type: application/json');
echo json_encode($return_data);
exit();
?>

关于javascript - json数组值没有传回jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32630608/

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