
エラーを取り除くことができず、困っています。
助けてください。
下記のようなコードで、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ランキング
-
関数を最終行までコピー
-
HtmlからExcelを操作したい
-
マウスムーブでのマウスカーソ...
-
javascriptでこのコードの意味...
-
C#でボタン名を変更しても動く
-
以下のコードを実行しても、オ...
-
JavaScript(ライブラリ)のキ...
-
文字認証の問題
-
〔Excel:VBA〕マクロの実行が異...
-
VB.NET2003 テキストボックスに...
-
VC#でテキストボックスに変数の...
-
デザイン時のVisible=Falseは実...
-
javascript で外部サイトにデー...
-
VBA ステータスバー DoEvents
-
エクセルVBA/ Formatで文字列が...
-
「終了していない文字列型の定...
-
正整数の半角数字かどうか判定する
-
javascriptによる横スクロール
-
JSON形式でのページング処理に...
-
Ajaxが動きません~『status=0』?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascript + php でエラー
-
オブジェクトでサポートされて...
-
getElementByIdで謎のエラーが...
-
confirm()をはい/いいえ に切...
-
NetscapeCommunicator4.7でJava...
-
javascriptとHTML
-
ホームページビルダーでスクリ...
-
エラーが出ている箇所を調べるたい
-
PDFフォームで条件つき金額を表...
-
IEで見ると「構文エラー」にな...
-
同じ記述でもサブウインドウが...
-
Syntax errorって?
-
JavaScriptでVBのOption Explic...
-
初歩的な質問かもしれませんが...
-
vba ie操作 ボタンを押...
-
javascript:void(0)とは何でし...
-
HTAで,親ウインドウを閉じ...
-
HtmlからExcelを操作したい
-
Safariではロールオーバーが正...
-
IE9でJavaScriptが動きません。
おすすめ情報