Javascript中的错误消息
我有一个PHP代码:Javascript中的错误消息,javascript,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>'; if($billing\u total>$limit\u to\u send){
if($billing_total>$limit_to_send){
echo '<script type="text/javascript">
window.onload = function() {
alert("Sorry, you do not have enough credit");
}
</script>';
if($billing\u total>$limit\u to\u send){
回声'
window.onload=函数(){
警告(“对不起,您没有足够的信用”);
}
';
当我打印此消息时,它将打印在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" />
-----------------------------------------------------------
window.onload=函数(){
警告(“对不起,您没有足够的信用”);
}
-----------------------------------------------------------
这导致浏览器中“我的页面”的页眉(徽标)向下移动一行
页面看起来会很糟糕,因为那里的所有项目都会下移一行
我希望你能明白,有什么解决办法吗
===========================================================================
谢谢大家
解决方案:
$alert_message=<script type="text/javascript">
window.onload = function() {
alert("Sorry, you do not have enough credit");
}
</script>
$alert\u消息=
window.onload=函数(){
警告(“对不起,您没有足够的信用”);
}
将
$alert_message
打印到正文前HTML代码的某个位置
标记^ ^ ^ ^或者将die()
附加到if代码块中,或者让php将脚本打印到正文或头部的某个位置。或者将die()附加到
输入if代码块,或者让您的php将脚本打印到正文或头部的某个位置。确保在脚本之前从未输出任何内容
有关更多信息,请参阅
doctype声明必须是html页面的第一个元素,它是由浏览器决定如何处理其余html代码的元素。在此之前输出任何内容都可能会将浏览器放入,因此您无法确定浏览器将如何呈现页面
如何避免这种情况 当到达
echo
命令行时,该命令将被执行,并且您的html代码的其余部分似乎在这之后
你也可以
- 将HTMLDTD和标题移动到php的顶部(但有时这是不可能的)或
- 将错误html存储在一个变量中,因此不要使用
echo',而要确保在错误发生之前不输出任何内容 有关更多信息,请参阅 doctype声明必须是html页面的第一个元素,它是由浏览器决定如何处理其余html代码的元素。在此之前输出任何内容都可能会将浏览器放入,因此您无法确定浏览器将如何呈现页面
如何避免这种情况 当到达
命令行时,该命令将被执行,并且您的html代码的其余部分似乎在这之后 你也可以echo
- 将HTMLDTD和标题移动到php的顶部(但有时这是不可能的)或
- 将错误html存储在一个变量中,因此这不是
echo',而是显示了应用程序的糟糕设计。我建议您将其更改为:
然后在HTML文件上,在$errors = array(); if($billing_total>$limit_to_send){ $errors[] = 'Sorry, you do not have enough credit'; }
标记关闭之前,读取数组并显示任何错误<?php if(is_array($errors)): ?> <script type="text/javascript"> <?php foreach($errors as $error): ?> alert('<?php echo $error; ?>'); <?php endforeach; ?> </script> <?php endif; ?>
这表明您的应用程序设计不好。我建议您将其更改为:警报(“”);
然后在HTML文件上,在$errors = array(); if($billing_total>$limit_to_send){ $errors[] = 'Sorry, you do not have enough credit'; }
标记关闭之前,读取数组并显示任何错误<?php if(is_array($errors)): ?> <script type="text/javascript"> <?php foreach($errors as $error): ?> alert('<?php echo $error; ?>'); <?php endforeach; ?> </script> <?php endif; ?>
尝试将其移动到警报(“”);
标记中。我只是在用PHP打印,如何控制HTML页面中的打印位置?缺少一个右括号。所有输出都是在脚本中的某个位置生成的,或者是它的父/子脚本(包括)。您必须将代码段移动到不同的上下文中,以便将其放置在适当的位置,或者将输出存储在某个位置,以便稍后将其写入输出。看起来您使用的是某个PHP框架,其中必须使用框架方法返回文本。请尝试将其移动到
标记中,我只是p在PHP中打印,如何控制HTML页面中的打印位置?缺少一个右括号。所有输出都是在脚本或其父/子脚本(包括)中的某个位置生成的。您必须将代码段移动到不同的上下文中,使其位于适当的位置,或者将输出存储在某个位置,以便以后可以将其写入输出。看起来您使用的是某种PHP框架,其中必须使用frameworks方法返回文本。请将PHP代码放在PHP的一部分代码>已被回显/打印/显示。在
被回显/打印/显示后,将php代码放入php的一部分。谢谢Martin,我无法控制javascript代码的打印,它在doctype声明之前出现。知道如何控制吗?谢谢Martin,我已经定义了
并在$alert\u消息=window.onload=function(){alert(“对不起,您没有足够的信用”);}“
之前的某个地方打印出来谢谢Martin,我无法控制javascript代码的打印,它在doctype声明之前就出现了。知道如何控制吗?谢谢Martin,我已经定义了
并将其打印在$alert\u message=“window.onload=function(){alert(“对不起,您没有足够的信用”);}“