- 締切済み
innerHTML JAVASCRIPT実行
お問い合わせフォームで入力された内容をプレビューとしてinnerHTMLを使い、表示したいと思っています。 そこで、疑問なのですが、フォームにJAVASCRIPTを書きこまれinnerHTMLで表示した際、実行されるおそれというのはないのでしょうか? 自分で、フォームにJAVASCRIPTを書いてinnerHTMLで表示したときは特に実行されている様子はなかったのですが心配になり質問させて頂きました。一応フォームで入力された内容を以下のように置換処理を通過させた方がよいのか。教えてください。 function chikan(data){ data=data.replace(/&/g,'&'); data=data.replace(/</g,'<'); data=data.replace(/>/g,'>'); data=data.replace(/"/g,'"'); data=data.replace(/'/g,'''); return data; } 私のブラウザは、FIREFOX3、IE7です。
- gothfotu
- お礼率73% (66/90)
- JavaScript
- 回答数1
- ありがとう数2
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- takahathi
- ベストアンサー率100% (2/2)
実行うんぬんの前にプレビューとして使うなら function chikan(data){ data=data.replace(/&/g,'&'); data=data.replace(/</g,'<'); data=data.replace(/>/g,'>'); data=data.replace(/"/g,'"'); data=data.replace(/'/g,'''); return data; } の処理は必須ではないでしょうか。問い合わせ内容にスクリプト関係のもあるだろうし。
関連するQ&A
- javascriptに関する質問です
javascriptに関する質問です タグの"<",">"を入力したら"&t",">"に置き換えまた(ダブルオークション)を入力したら&qut ""また(空白)を入力したら&mbsp;また"&"を入力したら&に置き換えるjavascriptを作りたいのですがいまいちどう作ればいいのか方向が分かりませんどなたかご教授ください 個人としてはremoveTagを使い変更したいですがなかなかうまくいきません どなたかご教授ください !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=Shift_JIS"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>タグを置き換える</title> <script language="JavaScript" type="text/javascript"> <!-- function removeTag() { var str = document.myForm.before.value; var newStr = str.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"').replace(/\s/g,' '); document.myForm.after.value = newStr }
- ベストアンサー
- JavaScript
- 特殊記号が勝手にエスケープされてしまう
Windows2000 ServerにおいてVBScriptとMicrosoft.XMLDOMを用いてASPスクリプトを作成しています。 XMLで特殊文字<,>,",',&を扱う際には<,>,",'に置換しなくてはならない事はわかったんですが、 実際にReplaceすると例えば<が&lt;になってしまいます。 置換する順番を変えてもこうなるのでおかしいと重い、&への置換を止めてもです。 しかもこれは読み出すと何事も無かったかのように&lt;が<へと戻っています。 試しに置換を全く行わない状態で 「テスト&'>"」という文字列を保存してみると、 保存先ファイルの中では「テスト&'>"」という状態になっていました。 恐らく&,<,>,"が勝手に置換され、読み出される時には元に戻す処理が行われていると思うんですが、これがどの部分で行われているのかがよくわかりません。 JavaScriptで読み出した際にも同様に復元されていたようなので、MSXMLの仕様なのかなと思うんですが、それを裏付ける資料を見つける事もできませんでした。 XMLにおける特殊記号の扱いについて書いているサイトにも記述が見つからなかったので、もしかしたら凄く基本的な事だったりおかしな質問だったりするのかもしれませんが、ご存知の方がいらっしゃいましたら是非ご教授願いたいです。 参考URLだけでも良いですのでどうかよろしくお願いします。
- ベストアンサー
- XML
- javascript INNERHTMLについて
javascriptのINNERHTMLについて教えてください。 親画面から子画面を呼び、引数で下記のようなHTMLを渡します。 "<ul><li>abc</li><li>def</li></ul>" この引数を子画面で受け取りINNERHTMLに入れて表示したいのですが ・abc ・def と、ならず abc def というように表示されてしまいます。 引数は親画面で設定した内容によって代わります。 テーブルタグや斜体、太字、下線はうまく表示できるのに <ul><ol>は ・ や 1. 2. が外れて表示されてしまいます。 何か回避する方法はないでしょうか?
- 締切済み
- JavaScript
- javascriptのinnerHTMLを動的に書き換える方法
javascriptのinnerHTMLを動的に書き換える方法 宜しくお願い致します。 一定時間の間、innerHTMLで表示した内容を、一定時間後に動的に変更させる方法で躓いています。 以下、作ってみた内容です。 <script type="text/javascript"> <!-- //一定期間のループ処理 //ループ時間の定義 timer_handle = setInterval("time_count()",1000); //countの初期値 count = '0'; function time_count() { //HTML差し替え設定 document.getElementById('time').innerHTML = '経過時間:' + count + '秒'; //秒数のカウントアップ count = Number(count) + 1; } //5秒後に表示させる処理 setTimeout("next()",5000); function next() { //一定期間のループを解除 clearInterval(timer_handle); document.getElementById('time').innerHTML = ""; //HTML差し替え設定 document.getElementById('time').innerHTML = '処理がおわりました'; } // --> </script> </head> <body onLoad="time_count()"> <table> <tr><td> <span id="time"></span> </td></tr> </table> </body> </html> この処理を実行すると、5秒間1秒ずつのカウントが進み、5秒後にカウントが止まるだけでinnerHTMLの内容が書き換わりません。 どうすれば書き換えられるのでしょう?
- ベストアンサー
- JavaScript
- javascriptを使ったページ内の特定文字の置き換え
ブラウザーにページを表示させたときに一部の特定の文字だけを違った文字に置き換えたいと思っています。 ページ全体の該当文字ならば、 <script type="text/javascript"> <!-- document.body.innerHTML=document.body.innerHTML.replace(/置換前/g,'置換後');focus(); // --> </script> でページ全体の文字が置換できるのですが、下のケースのように一部の場所(DIV内)の場合はどのようにすればよろしいのでしょうか。 <html> ・ ・ <div class="sample"> <a href="hogehoge">置換前</a> </div> ・ ・ </html> よろしくお願いいたします。
- ベストアンサー
- JavaScript
- innerHTMLを使い、書き換えたい
はじめまして。innerHTMLで文章を書き換えたいと思っています。 ■■■■■■■■■■■■ <div id='testid'>元の文章</div> <SCRIPT Laguage="JavaScript"><!-- document.getElementById('testid').innerHTML = "この文章に書き換える"; --></SCRIPT> ■■■■■■■■■■■■ とするとうまく<div>内の文章が書き換わるのですが、 以下のようにjavascriptの記述を先に持ってくるとうまくいきません。 ■■■■■■■■■■■■ <SCRIPT Laguage="JavaScript"><!-- document.getElementById('testid').innerHTML = "この文章に書き換える"; --></SCRIPT> <div id='testid'>元の文章</div> ■■■■■■■■■■■■ 検索して調べたところ、 「関数化させて id を指定したタグが表示されてから命令を実行させる」 必要があるとのことなのですが、書き方がわからずにいる次第です。 どなたかご教示いただければ幸いです。
- ベストアンサー
- JavaScript
- 文字実体参照が勝手に変換されてしまう
簡単な問合せフォームを作成中に文字実体参照に変換した文字が、元に戻されてしまい困っています。簡単なサンプルを作成してみましたが、以下の様な状態です。 1.入力フォームを持ったHTMLに 「<>と<と>」 と入力し、xxx.cgiに渡します。 2.xxx.cgi内で入力文字列を取得し、文字実体参照に変換後<hidden>で値を保持、再度xxx.cgiに<hidden>の文字列を渡すようにします。この時点で入力値は 「<>と&lt;と&gt;」 となります。 3.再度xxx.cgiが呼ばれると、文字実体参照に変換する処理が行われる為、入力値が 「&lt;&gt;と&amp;lt;と&amp;gt;」 となるはずですが、 「<>と&lt;と&gt;」 となってしまいます(変換処理が行われているはずなのに変換されていない)不思議に思って変換前のCGIの引数を確認してみると、 「<>と<と>」 と文字実体参照が元に戻されてしまっています。 ちなみに文字実体参照の変換処理は$valueに対象の文字が入っているとして以下の方法で変換しています。 ---------- $value =~ s/&/&/g; $value =~ s/"/"/g; $value =~ s/</</g; $value =~ s/>/>/g; $value =~ s/\n/<BR>/g; ---------- こういった現象についてでも何か分かるようでしたら宜しくお願いします。
- ベストアンサー
- Perl
- javascriptの実行のタイミングについて
javascriptの実行のタイミングについて教えてください。 下記サンプルを試したところ、一瞬遅れて表示されるのが気になりました。 http://html.appelle.jp/2006/04/javascript_4.html 画面表示と同時に時刻も表示させるには、 どうしたらよいでしょうか? setInterval ( 'clocknow()',1000 ) ;って書いてあるので、 初めも1秒後に読み込まれるってことなのでしょうか? それとも、body onloadとか書かなければいけないのでしょうか? ちなみに、form部分を、<span id="clock"></span>、 head内の読み込み部分を、document.getElementById("clock").innerHTMLと変え、試しています。 よろしくお願いします。
- ベストアンサー
- JavaScript
- javascriptのreplaceの使い方に困っています。
javascriptのreplaceの使い方に困っています。 あるテキストにて勉強中に keyword.replace(/\+/g,"%20") というラインがでてきました。 /gが後方参照であることは理解したのですが /\+/gの /\が何を示すのか、このラインによってどのような処理 を実行するのか、理解できません。 分かる方、どうか回答お願いいたします。
- ベストアンサー
- JavaScript
- フォームの文字列変換ができない
http://morecute.bex.jp/music/user_manager/bbs_nayu/master/index9_utility01.php このフォームでAmazonの商品コードを入力すると 商品コードが埋め込まれたURLが自動生成されフォームに出力されるようにしていたのですが、 現在動きません。 このphpのソースは↓です。 <form action="index9_utility01.php"> <input type="text" name="moji" size="80" value="<?echo "<a href="http://www.amazon.co.jp/gp/aw/rd.html?a=".$moji."&uid=NULLGWDOCOMO&url=/gp/aw/d.html&lc=msn&at=morecutebz0e-22&dl=1">アルバム情報</a><img src="http://www.assoc-amazon.jp/e/ir?t=morecutebz0e-22&l=msn&o=9&a=".$moji."" width=1 height=1 border=0" />" ?>"> <input type=submit value=sub> <font size=-1>商品コードを入力 </form> 数年前(2006年頃)はこれで問題なく出力できていたのですが・・・ phpのバージョンが変わって動かなくなったのでしょうか? サーバはXREA、及びCoreserver、PHPバージョンは 5.2.5/5.3.8 です。
- 締切済み
- PHP
お礼
>問い合わせ内容にスクリプト関係のもあるだろうし。 そうですね。考えてませんでした。解決しました。ありがとうございます。