
エラーを取り除くことができず、困っています。
助けてください。
下記のようなコードで、PHPからjavascriptに文字列を渡しているのですが、
文字列に改行コードがあるとエラーになってしまいます。
(改行コードがない場合はエラーはでません)
文字コードはEUC-JP、改行はLFとしています。
エラーの原因と、対策を教えてください。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript">
<!--
function sampl(str)
{
alert(str);
}
//-->
</script>
</head>
<body>
<form method="post" action="#">
<?php
$str = "テスト\n改行あり";
?>
<input type="button" value="実行" onClick="sampl('<?=$str?>')">
</form>
</body>
</html>
No.2ベストアンサー
- 回答日時:
こんな感じでしょうか。
<?php
$str = 'テスト
改行あり';
echo str_replace("\n",'\n',$str);
?>
この回答への補足
ご回答ありがとうございます。
サンプルのコードでは上手くいくのですが、
DBから変数を呼出した場合だと、エラーが消えません。
(ご教授いただいた方法だと、改行後に\nが追加されますが、改行自体はなくなりません。)
ご教授頂いた方法 str_replace("\n",'\n',$str);
の意図がよくわからないのですが、教えていただけないでしょうか?
No.4
- 回答日時:
間違えました。
。ereg_replaceではなくstr_replaceです。
<?php
$str = "テスト\n改行あり";
$str = str_replace( "\n" , "\\n" , $str);
?>
この回答への補足
何度もありがとうございます。
やはり、サンプルでは上手くいくのですが、DBを使うとうまくいきません。
DBの変数扱いに問題があるのかもしれません。
まとめて、お礼を申し上げます。
エラーの原因が、データベースの変数の取り扱いにあるようです。
javascriptよりもphp側の問題の用ですので、phpのカテゴリに質問を設定しなおしました。
No.1
- 回答日時:
エラーがでているというのにエラーメッセージの情報がないですね。
(問題解決に結びつくすごく重要な情報なのですが。)
エラーの原因は、phpの処理結果が以下のようになっているためではないでしょうか?
<input type="button" value="実行" onClick="sampl('テスト
改行あり')">
これだと、文字列が 「'テスト」 で不完全になっているので
JavaScriptのエラーがでると思います。
修正方法は、例えば以下のような結果が得られるようにphpを書くことです。
<input type="button" value="実行" onClick='sampl("テスト\n改行あり")'>
この回答への補足
ご回答ありがとうございます。
まず、エラーメッセージは unterminated string literal と出ています。
(失礼いたしました。)
なお、ご指摘のように、直すとエラーは回避できました。
ただ、実際には、データベースから文字列を取り出し、それをjavascriptに渡したいので、私が直面しているケースでは、ご指摘のような方法はとれません。
文字列(改行コード)を変換してやればいいのだと思いますが、方法がわかりません。
対策方法があれば、引き続き教えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ホームページビルダーでスクリ...
-
window.openがIEでエラーにされる
-
特定の文字でエラー
-
JSPの処理の途中で、JavaScript...
-
VB.NET2003 テキストボックスに...
-
ASP(VBS) ←→ JavaScript の変数...
-
以下のコードを実行しても、オ...
-
「終了していない文字列型の定...
-
フォルダを自動で開く
-
ハイフンだけ置換したい。
-
Excel VBA カタカナ セル判定...
-
javascriptで最初のところに戻...
-
表示ページによって、aタグ内の...
-
javascriptからサーバサイドの...
-
htmlのfileタグに自動で値を入...
-
テキストファイルの更新日時を取得
-
javascriptでフォルダ内のファ...
-
教えてgooのカテゴリー選択のよ...
-
onbeforeunload と aタグの hre...
-
Ajax以外で、JavaScriptからPHP...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ホームページビルダーでスクリ...
-
confirm()をはい/いいえ に切...
-
関数を最終行までコピー
-
このページのスクリプトでエラ...
-
javascript:void(0)とは何でし...
-
javascript + php でエラー
-
HtmlからExcelを操作したい
-
オブジェクトでサポートされて...
-
Javascriptエラーの原因が分か...
-
クリックすると下に説明文が出...
-
window.openがIEでエラーにされる
-
Javascript でログインできない...
-
レイヤーを使うときに妙なスク...
-
エディタ機能のTEXTAREAを作りたい
-
マウスムーブでのマウスカーソ...
-
javascriptのis null or not an...
-
HTAで,親ウインドウを閉じ...
-
getElementByIdで謎のエラーが...
-
jqueryでページを作りたいと思...
-
ロールオーバーを外部にすると...
おすすめ情報