【发布时间】:2025-11-26 13:20:03
【问题描述】:
您好,我正在尝试根据 AJAX 响应隐藏/显示div。我真的不知道,有没有办法?
如果响应是错误的,则显示错误文本并显示 div(相同的 div)。
如果响应不是错误,则显示成功文本并隐藏一个 div(相同的 div)。
这就像脸书功能。
我应该使用 javascript 函数来做到这一点。
编辑
从 OP 的重复问题中添加了信息:
有我的 div。
<div id="messages"></div>
<div id="edit-address-book">
codes to edit the address book , input type - text, select , textearea etc...
</div>
下面是我的一个简单的 ajax 请求。 这是我使用的 ajax 库 -> http://en.dklab.ru/lib/JsHttpRequest/
// Create new JsHttpRequest object.
var req_update = new JsHttpRequest();
// Code automatically called on load finishing.
req_update.onreadystatechange = function() {
if (req_update.readyState == 4) {
document.getElementById("messages").innerHTML = req_update.responseJS.messages;
document.getElementById("changed_address").value = req_update.responseJS.changed_address;
}
}
document.getElementById("messages").innerHTML = req_update.responseJS.messages;
req_update.responseJS.messages; // This is ajax respond part.
在地址簿 div 上,当客户点击更新按钮时,来自 ajax 的错误或成功消息会响应消息 div。
例如:
错误信息: ----------------- 您的名字必须至少包含 2 个字符。 您的姓氏必须至少包含 2 个字符。 您的街道地址必须至少包含 5 个字符。 您的城市必须至少包含 3 个字符。 您所在的州必须至少包含 2 个字符。 成功讯息: -------------------- 您的通讯簿已成功更新。 (我已经在下面简单地尝试过,但它不起作用:
<script language="javascript" type="text/javascript">
if ( document.getElementById("messages").innerHTML == "<?php echo SUCCESS_MESSAGE; ?>" ) {
hide_div('edit-address-book); //The div to hide the address book entries.
}
</script>
如果 jquery javascript 库中有建议/解决方案,我也可以使用它。
【问题讨论】:
-
请提供更多上下文;你想在 jQuery、直接 JS 等中实现这一点吗?还显示你正在处理的任何代码。
-
确定你能做到。您需要使用自己的逻辑来检测/解析错误,除非您使用 jQuery、Prototype、Dojo 等框架。
-
“错误”是什么意思?您的意思是传输或连接错误,还是由您在服务器上的逻辑生成的错误(即:正在向客户端报告的数据库错误)?
标签: javascript ajax