在警告框中允许多少个字符 - javascript

问题描述 投票:12回答:4

有谁知道你可以在警告框中显示的最大字符数是多少?

我正在向用户返回错误警报,其中包含每个错误和警告的详细信息,但显然当数据太多时,框不再显示。这是我的一些代码:

<?php
    //Two arrays are created in php, one with the errors, one with the warnings.
?>

<script type="text/javascript">
    alert("<?php
         if(count($err) != 0){
             $errorfound = True;
             echo 'Error:\n\n';
             foreach($err as $message){
                 echo '\t' . $message . '\n';
             }
         }
         if(count($warn) != 0){
             echo '\n\nWarning:\n\n';
             foreach($warn as $mess){
                 echo '\t' . $mess . '\n';
             }
        }?>");
</script>

<?php
    //app continues if no error was found
?>

谢谢。

编辑

经过调查,我的问题不是来自警报箱的能力,但事实上我需要addslashes()我的消息(这就是为什么我认为它工作的价值较少,但实际上我很幸运,因为他们不是需要转义的字符。我肯定会更改那个更合适的警报框,只是想说警报框没有问题。

javascript web-applications
4个回答
2
投票

我个人鄙视弹出警报。您可以考虑使用内置于页面中的消息框,该消息框可以容纳无限量的内容,并且可以在屏幕上“闪烁”几秒钟出错。

您可以选择禁用整个页面并使消息成为叠加层。原型或jQuery可以快速完成任务。

如果要查看禁用页面的示例,本文使用可以轻松交换消息的进度指示器。 http://edwardawebb.com/web-development/cakephp/disable-page-show-translucent-progress-bar


13
投票

让我们看看我是否能真正回答你的问题:

Javascript中没有“最大”警报大小。它因浏览器而异。你可能最好保持在1000个以下的字符,因为许多浏览器似乎在999之后开始截断。


0
投票

我不知道alert()中的限制,但我很确定你的代码会产生JS语法错误。

特别要记住,你不能简单地在javascript中使用多行中的字符串。请告诉我们PHP脚本的输出。

例子:

//will not work
alert('this
       is
       an 
       alert');

//This will work:
alert('this '+
       'is '+
       'an '+
       'alert');

//this works too:
alert('this \
       is \
       an \
       alert');

0
投票

看了你的代码后,我发现你甚至不需要alerts。如果您正在验证PHP输出,只需在代码中转储几条HTML注释并查看源代码:

<!-- <?php echo 'foo bar baz etc'; ?> -->

如果您必须使用JavaScript,请考虑使用内置控制台来处理调试,因为它不会阻止您的脚本。 Firebug for Firefox是最好的开发工具集恕我直言。

console.log(<?php echo $whatever; ?>);

alert而言。我不相信它可以处理的字符串的长度有一个指定的限制,因为mozilla docs将其列为DOM Level 0. Not part of any standard.

© www.soinside.com 2019 - 2024. All rights reserved.