Javascript中的错误消息
Error message in Javascript
我有一个PHP代码:
if($billing_total>$limit_to_send){
echo '<script type="text/javascript">
window.onload = function() {
alert("Sorry, you do not have enough credit");
}
</script>';
当我打印这个消息时,它被打印在PHP页面的开头,如下所示:
<script type="text/javascript">
window.onload = function() {
alert("Sorry, you do not have enough credit");
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-----------------------------------------------------------
这导致浏览器中我页面的标题(徽标)向下移动了一行。
页面看起来会很糟糕,因为那里的所有项目都会下移一行。
我希望你清楚。有什么解决方案吗?
=================================================
感谢所有人。。。
解决方案:
$alert_message=<script type="text/javascript">
window.onload = function() {
alert("Sorry, you do not have enough credit");
}
</script>
在body
标记^_^之前的HTML代码中的某个位置打印$alert_message
确保在DTD(doctype声明)之前从不输出任何内容。
有关详细信息,请参阅此问题。。。
doctype声明必须是html页面的第一个元素,它来自浏览器决定如何处理其余html代码的内容。在此之前输出任何内容都可能会使您的浏览器处于怪癖模式,因此您无法确定浏览器将如何呈现您的页面。
如何避免这种情况?
echo
命令在到达其行时执行,之后似乎会执行html代码的其余部分。
你可以选择
- 将htmlDTD和头移到php的顶部(但有时这是不可能的)或者
- 将错误html存储在一个变量中,因此不要使用
echo '<script ...
,而是使用$errorhtml = '<script ...
,并在php的头部或主体生成代码的特定位置输出该字符串(如果不是空的) - 如果您无法控制原始源代码,您可以考虑重定向到一个错误页面,该页面具有自己的html DTD、页眉和正文,您可以将其设计为最适合您的
将die()
附加到if代码块中,或者让php将脚本打印在主体或头部的某个位置。
这显示了应用程序的糟糕设计。我建议你把它改成:
$errors = array();
if($billing_total>$limit_to_send){
$errors[] = 'Sorry, you do not have enough credit';
}
然后在您的HTML文件上,在<body>
标记关闭之前,读取您的数组并显示任何错误
<?php if(is_array($errors)): ?>
<script type="text/javascript">
<?php foreach($errors as $error): ?>
alert('<?php echo $error; ?>');
<?php endforeach; ?>
</script>
<?php endif; ?>
相关文章:
- jQuery在输入下验证post错误消息
- ng消息仅在触摸时显示错误,并在错误的初始显示上转换
- 解析云代码错误:解析.错误{代码:141,消息:“未调用成功/错误”}
- 在AngularJs中隐藏默认错误消息
- 如果用户输入的长度小于最小长度,则显示错误消息
- 使用ASP.NET CustomValidator避免重复的错误消息
- KOValidation在错误消息中获取可观察值、$index()、$data等
- 更改精细上载中的错误消息
- 如何在页面刷新时隐藏错误消息
- 如何显示错误消息
- 滑块未显示,控制台中没有错误消息
- 表单提交没有'如果为空,则不会显示错误消息
- 为什么我的Alexa技能测试显示正确的lambda输出,但在开发人员控制台中测试时却给出错误消息
- 隐藏错误消息“;未选择文件”;asp:fileUpload的文本
- 如何在消息中抛出tv4错误
- 登录时显示自定义错误消息
- jQuery AJAX 调用以发布消息 - 错误 堆栈空间不足
- 不断收到'向云PubSub发送测试消息错误…'Google Cloud PubSub
- 抑制WebBrowser JavaScript消息错误
- 在Chrome中解析SVG路径日志消息错误