我有一个php网页,用户将其详细信息输入到表单中,然后在提交两个部分(命名的配置文件和图像)后,必须出现。这是javascript代码:
jQuery(document).ready(function($) {
var registered = <?php echo $registered; ?>;
alert(registered);
if (registered == 'false') {
$("#profile").hide();
$("#images").hide();
}
if (registered == 'true') {
alert('hello');
$("#profile").show();
$("#images").show();
}
});
由于某种原因,它根本不会进入if语句,即使警报显示已注册的值为true。这可能是什么问题?
答案 0 :(得分:1)
var registered = <?php json_encode($registered) ?>
if(registered == true) {
alert(registered);
$("#profile").hide();
$("#images").hide();
} else {
alert('hello');
$("#profile").show();
$("#images").show();
}
答案 1 :(得分:0)
您正在将字符串'true'
与布尔值true
混合。尝试从头到尾使用布尔值的版本:
var registered = <?= json_encode($registered) ?>;
if (registered) {
$("#profile").hide();
$("#images").hide();
} else {
$("#profile").show();
$("#images").show();
}
编辑 - 感谢Jon在另一条评论中建议使用json_encode
。
答案 2 :(得分:0)
use JSON.parse()
使用格式正确的JSON字符串并返回生成的JavaScript对象。
//JSON.parse(registered);
var registered = <?php echo $registered; ?>;
if (!(JSON.parse(registered))) {
$("#profile").hide();
$("#images").hide();
}
else {
$("#profile").show();
$("#images").show();
}
答案 3 :(得分:0)
删除引号并尝试
jQuery(document).ready(function($) {
var registered = <?php echo $registered; ?>;
alert(registered);
if (registered == false) { //Remove the quotes
$("#profile").hide();
$("#images").hide();
}
if (registered == true) { //Remove the quotes
alert('hello');
$("#profile").show();
$("#images").show();
}
});
答案 4 :(得分:0)
var registered = true;
alert(registered == 'true'); //return false
alert(registered == 'false'); //return false
在JavaScript数据类型中,比较有点不一致。所以总是尝试比较相同的数据类型。
所以试试:
var registered = true;
alert(registered == true); //return true
alert(registered == false); //return false
将您的代码更改为:
if (registered) {
alert('hello');
$("#profile").show();
$("#images").show();
}
else {
$("#profile").hide();
$("#images").hide();
}
答案 5 :(得分:0)
试试这个
jQuery(document).ready(function($) {
var registered = "<?php echo $registered; ?>";
alert(registered);
if (registered == false) {
$("#profile").hide();
$("#images").hide();
}
else if (registered == true) {
alert('hello');
$("#profile").show();
$("#images").show();
}
});