在View控制台之后所有的手机都没有显示我该怎么解决它?
var jArray = <?php echo json_encode($allmobone); ?>;
var mob = document.getElementById("user_mobile_number").value;
var precode = "91";
mobcode = precode + mob;
for (var r = 0; r < jArray.length; r++) {
if (jArray[r] == mobcode) {
document.getElementById("spn_user_mobile_number_2").style.display = "block";
return false;
}
}
答案 0 :(得分:1)
如果您需要从浏览器开发人员工具中完全隐藏$allmobone
值,请不要将其发送给客户端。而是在需要检查手机号码时向服务器发送AJAX请求,并根据请求响应做出决定。
以下是包含用户界面的页面的HTML代码:
function ajaxGet(url, onload, onerror) {
var request = new XMLHttpRequest();
request.onload = function () {
if (request.status >= 200 && request.status < 400) {
onload(request.responseText);
} else {
onerror();
}
};
request.onerror = onerror;
request.open('GET', url, true);
request.send();
}
var mob = document.getElementById("user_mobile_number").value;
var precode = "91";
mobcode = precode + mob;
ajaxGet('/checkMobileCode.php?mobcode=' + encodeURIComponent(mobcode), function (response) {
if (response === 'ok') {
document.getElementById("spn_user_mobile_number_2").style.display = "block";
}
});
这是脚本的PHP代码,用于检查移动代码(/checkMobileCode.php
):
if (in_array($_GET['mobcode'] ?? '', $allmobone)) {
echo 'ok';
} else {
echo 'fail';
}
答案 1 :(得分:0)
选项1:
使用Ajax动态加载资源,然后查看源(ctrl + u)将不会显示任何值:
$.ajax({
url: 'getJson.php',
dataType: 'json',
success: function (jArray) {
var mob = document.getElementById("user_mobile_number").value;
var precode = "91";
mobcode = precode + mob;
for (var r = 0; r < jArray.length; r++) {
if (jArray[r] == mobcode) {
document.getElementById("spn_user_mobile_number_2").style.display = "block";
break;
}
}
}
});
但是在控制台网络选项卡中仍然存在明显的响应
选项2: 如果您只有静态数据,那么循环数据并应用内联css:
<?php
foreach ($allmobone as $el) {
if ($el === $_POST['mobcode']) {
echo "<div id='spn_user_mobile_number_2'>...</div>";
}
}
只有当用户输入&#34; mobcode&#34;时才需要提交表单。重新加载页面。