2011-07-28 4 views
9

アラートボックスに表示できる文字の最大数は誰にも分かりますか?アラートボックスにいくつの文字を入力できますか - javascript

それぞれのエラーと警告の詳細をユーザーに通知しますが、あまりにも多くのデータがある場合は、ボックスはもう表示されません。ここに私のコードの一部です:

<?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 
?> 

ありがとう。

EDIT

調査の後、私の問題は、警告ボックスの容量から来ませんでしたが、私は私のメッセージにaddslashes()(私はそれが少ない値で働いていたと思った理由ですに必要ということにありました実際、エスケープする必要のあるキャラクターではなかったので、私はちょうど幸運でした)。 私は間違いなく、より適切なもののためにそのアラートボックスを変更するでしょう、ちょうどアラートボックスに問題はないと言いたいと思っていました。

+1

多くの文字が許可されているかどうかはわかりませんが、関数はそれを表示する最善の方法ではありません。 – FishBasketGordo

+0

この質問をしているところまで来ているなら、 'alert'ではなく' close 'ボックスでオーバーレイドdivを使うことをお勧めします。 'div'は、スクロール、コピーアンドペースト、エラーメッセージの書式設定などの劇的なフォーマットを提供することができます。 –

+0

アラートの文字制限はわかりませんが、それは私の推測ですブラウザとOS /デバイスによって異なります。代わりにDIVにフラッシュエラーメッセージを表示するだけでいいですか? – johnmdonahue

答えて

2

私は個人的に私はポップアップアラートを軽視します。ページに組み込まれたメッセージボックスを使用して、不確定な量のコンテンツを保持し、エラーが発生したときに数秒間画面上に「点滅」することができます。

オプションでページ全体を無効にして、メッセージをオーバーレイにすることもできます。プロトタイプまたはjQueryはいずれかのタスクの迅速な作業を行います。

このページでは、ページを無効にする例を見たい場合は、メッセージのスワップが容易な進行状況インジケータを使用します。

はJavascriptには「最大」のアラートサイズがありません: http://edwardawebb.com/web-development/cakephp/disable-page-show-translucent-progress-bar

+0

プラス側では、FF5はブラウザ全体の割り込みすべてのOSモーダルウィンドウではなく、疑似インラインオーバーレイとしてアラートをタブごとにポップアップ表示するようになりました。 –

+0

@Marc B、それはとてもいいです。私は、各タブが独自のプロセスなので、Chromeは同じ方法で実行すると思います。 – Eddie

+0

@Marc B:アラートでもタブは切り替わりますが、クリックせずにナビゲートすることができます:) –

11

私は実際にあなたの質問に答えることができるかどうか見てみましょう。ブラウザによって異なります。しかし、多くのブラウザが999年以降に切り詰めを開始するように思われるので、おそらく1000文字以下に留まることをお勧めします。

+0

はい、制限に達すると、明らかに切り捨てられます。私はアラートが私のために働いていないので別の方法を見つけるだろうと思う。ありがとう。 – talnicolas

+0

問題ありません。喜んで助けてください。 – dwmcc

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

私はちょうど少数のエラー/警告があるとき働いているのでエラーを生成しません – talnicolas

+0

それはそれが働かなかったとき得られる生成された出力を示します。私はときどきコードで私の完全な画面を埋める警告ボックスを見たことがあります。 –

0

あなたのコードを見た後、私はあなたがさえalertsを必要としない理由を見ません。あなたはPHPの出力を検証している場合は、単にあなたのコードとビューソースのカップルのHTMLのコメントをダンプ:あなたは JavaScriptを使用しなければならない場合

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

、内蔵のコンソールそれとしてあなたのデバッグを処理するために使用することを検討してくださいあなたのスクリプトをブロックしないでください。 Firebug for Firefoxは、IMHOの開発ツールのベストセットです。

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

alertまでです。mozilla docsとして扱うことができる文字列の長さには特定の制限があるとは思わないDOM Level 0. Not part of any standard.