gpt4 book ai didi

javascript - 函数不修改传递的参数值

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

我有以下功能:

function validateField(target, field, field_check) {
if(target.val().trim().length > 0) {
$.ajax({
url: '<?php echo $html->url('/fonykers/validate_',true); ?>'+ field + '/' + target.val(),
dataType: 'json',
type: 'POST',
success: function(response) {
if(!response.ok) {
if(target.is('.ok')) {
target.removeClass('ok');
}
target.addClass('error');
error.html(response.msg);
error.fadeIn();
field_check = false;
} else {
if(target.is('.error')) {
target.removeClass('error');
}
target.addClass('ok');
alert('voy a asignar true');
field_check = true;
}
},
error:function (xhr, ajaxOptions, thrownError){
alert(xhr.statusText);
alert(thrownError);
field_check = false;
}
});
} else {
error.html('You must specify a ' + field);
error.fadeIn();
target.addClass('error');
field_check = false;
}

}

我用它来验证我的表单输入字段,目标变量是字段本身,例如: $('#name_field') 第二个变量是指定字段名称的字符串例如 name 来了解它将调用哪个 PHP 函数。最后一个是一个 bool 值,我用它来知道该字段是否有效,例如我在 scripta 开头定义并设置为 false 的 name_check

我的问题是 field_check 在本地范围内正确更改,但它从未修改已传入的外部变量,我做错了什么?

最佳答案

这是因为变量不是通过引用传递的。您可以将其作为返回值,也可以使用如下解决方法:http://sirdarckcat.blogspot.com/2007/07/passing-reference-to-javascript.html

关于javascript - 函数不修改传递的参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6875729/

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