您好我正在尝试隐藏/显示基于AJAX响应的div
。我真的不知道,有没有办法呢?
如果响应是错误,请显示错误文本并显示div(相同的div)。
如果响应不是错误,请显示成功文本并隐藏div(相同的div)。
就像facebook功能一样。
我应该使用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库 - &gt; 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。
例如:
Error Messages: ----------------- Your First Name must contain a minimum of 2 characters. Your Last Name must contain a minimum of 2 characters. Your Street Address must contain a minimum of 5 characters. Your City must contain a minimum of 3 characters. Your State must contain a minimum of 2 characters. Success Message: -------------------- Your address book has been successfully updated. (
我在下面尝试过它,但它不起作用:
<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库中有建议/解决方案,我也可以使用它。
答案 0 :(得分:0)
最后我找到了解决方案。它将帮助使用AJAX库“JSHttpRequest”(http://en.dklab.ru/lib/JsHttpRequest/)的用户。 这是:
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;
if (req_update.responseJS.messages == "<?php echo SUCCESS_MESSAGE; ?>") {
hide_div("edit-address-book");
}
document.getElementById("changed_address").value = req_update.responseJS.changed_address;
}
答案 1 :(得分:-1)
这应该这样做。
<强> EDITED 强>
<body>
<script type="text/javascript">
function teste(divId, text){
var myDiv = document.getElementById(divId);
if (myDiv.innerText.indexOf(text, 0) != -1) //could be replaced by any error veryfing logic
{
myDiv.style.visibility = "hidden";
return 'Message 1';
}
else
{
myDiv.style.visibility = "visible";
return 'Message 2';
}
}
</script>
<div id="MyDiv">blabla</div>
<script type="text/javascript">
document.write(teste('MyDiv', 'blabla'));
</script>
</body>