基本的なことかもしれませんが、JavaScript初心者なので質問させてください。
innerHTML内で改行を入れると実行されないのでしょうか?

たとえば、これ↓はうまく行くのですが、


<script type="text/javascript">
function change1() {
document.getElementById('change1').innerHTML='<p>ハケには毛が多い</p><p>ハゲには毛がない</p><input type="button" value="失礼しました m(_ _)m" />'
}
</script>

<div id="change1">
<p>カラスは黒い</p>
<p>ガラスは透明</p>
<input type="button" value="ここを押すと文章が変わります" onClick="change1();">
</div>


こうすると↓うまく行きません。


<script type="text/javascript">
function change2() {
document.getElementById('change2').innerHTML='
<p>ハケにはやはり毛が多い</p>
<p>ハゲにはやはり毛がない</p>
<input type="button" value="再び失礼しました m(_ _)m" />'
}
</script>

<div id="change2">
<p>カラスは黒い</p>
<p>ガラスは透明、、、じゃないものもある</p>
<input type="button" value="ここを押すと文章が変わります?" onClick="change2();">
</div>

別に困っているわけではないのですが、
ソースは見やすく書きたいのでよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

JavaScriptでは、1つのコードの途中に改行を入れるとエラーになってしまいます。


なので、指定した文字列などを分割したい場合は、それぞれを+で繋げて分割すればOKです。


<script type="text/javascript">
function change2() {
document.getElementById('change2').innerHTML=
'<p>ハケにはやはり毛が多い</p>' +
'<p>ハゲにはやはり毛がない</p>' +
'<input type="button" value="再び失礼しました m(_ _)m" />'
}
</script>

ご参考まで。
    • good
    • 0
この回答へのお礼

ありがとうございます!

そういえば、そんなソース、見た事あります。
基本中の基本なんでしょうね(^^;

お礼日時:2011/04/22 13:59

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QGmailでの複数アカウント

教えてください。
Gmailで1つアカウント取得しました。
そのアカウントで複数のサブアド?を取得することはできるのでしょうか?

○○○@gmail.com
の場合
○○○.△△△@gmail.com

△△△.○○○@gmail.com
のような△△△の部分をつけて複数アドレスを作れる聞きました。

どうすればよろしいのでしょうか?教えてください。

どうぞよろしくお願いいたします。

Aベストアンサー

確かにその通りなのですが、あれはあまり意味がないのです。
何故意味がないかというと、
本来サブアドレスであれば、指定した文字列のアドレスへ送信しない限りメールを送信できないですね?
ところが、上記の場合、○○○であっても○○○.△△△であっても送信できてしまうので、例えばAさんに○○○.△△△のアドレスを教えたとしても、Aさんがこの仕組みを知っていて、○○○で送信してしまう事が起こりえるからなのです。
複数のアドレスが欲しいのなら、新たにGmailのアカウントを取得して下さい。通常利用の範囲内なら複数アカウントの取得はGoogle側でも認めています(サポートからの回答です)。

QTEXTAREA内の改行位置をinnerHTMLで反映させたい

例えば、

<HTML>
<HEAD>
<SCRIPT>
function send(){
var message = f1.message.value
var str = '<HTML>\n<HEAD>\n</HEAD>\n<BODY>\n'
str += ''+ message +'\n'
str += '</BODY>\n</HTML>'
document.frame1.document.body.document.body.innerHTML = str
}
</SCRIPT>
</HEAD>
<BODY>
<FORM name="f1">
<TEXTAREA rows="10" cols="40" name="message" onChange="send()"></TEXTAREA>
</FORM>
<IFRAME name="frame1" id="frame1" width="90%" height="350"></IFRAME>
</BODY>
</HTML>


このような記述をして、テキストエリア内に文字を数行にわたって書き込んでも改行はされません。
どのようにすれば改行されるようになりますか?
innerHTMLのところをinnerTEXTとして改行位置に<BR>タグが入るようにするのでもかまわないのですが、、、
どなたかお分かりになる方、ご教授願います。

例えば、

<HTML>
<HEAD>
<SCRIPT>
function send(){
var message = f1.message.value
var str = '<HTML>\n<HEAD>\n</HEAD>\n<BODY>\n'
str += ''+ message +'\n'
str += '</BODY>\n</HTML>'
document.frame1.document.body.document.body.innerHTML = str
}
</SCRIPT>
</HEAD>
<BODY>
<FORM name="f1">
<TEXTAREA rows="10" cols="40" name="message" onChange="send()"></TEXTAREA>
</FORM>
<IFRAME name="frame1" id="frame1" width="90%" height="350"></IFRAME>
</BODY>
</HTM...続きを読む

Aベストアンサー

テキストエリア内の改行文字を<BR>に置換します。

str += ''+ message.replace(/\n/g,"<BR>") +'\n'

QGoogleChromeでのGmailの複数アカウント新着チェック

GoogleChromeでのGmailの複数アカウント新着チェック

FirefoxにはGmail Managerというアドオンがあり、Gmailの複数アカウントの新着メールをチェックする事ができますが、GoogleChromeにも複数アカウントをチェックできる拡張機能は存在するのでしょうか?Google Mail Checkerという拡張機能は見つけたのですが、どうやら一つのアカウントしかチェックできないようで…。ご存じの方おられましたら、よろしくお願い致します。

Aベストアンサー

#1です。

次は、Firefoxなどの内容について書込み内容のあるブログ(時々、自分勝手な内容有り)ですが、Chromeのマルチアカウントについての記事を紹介しています。
http://beau.g-com.ne.jp/mon-extension-memo10_07-4.html#memo10716b

これにると、6月14日の記事で、1つのウィンドウで複数のアカウントが使えるようGoogleがテスト中との内容がありますから、まだ未対応と思います。

なお、Ctrl+Shift+Nでのシークレットモードのウィンドウを別に開けば、可能なようです。

Q[javascript][IE] textarea内の改行を消す方法を教えてください。

テキストエリア内の改行をreplaceで除去したいのですが、FireFoxではうまくいくのですがIEではうまく動作しません。
下記のようなソースです。
IEではどのように書けば良いのでしょうか。

<html>
<head>
<script type="text/javascript" language="javascript">
function change_box(){
temp = document.getElementById("in").value;
temp = temp.replace(/\n/g,"");
document.getElementById("out").value = temp;
}
</script>
</head>
<body>
<form>
<textarea id="in" rows="3" >
一行目
二行目
三行目
</textarea><br />
<textarea id="out" rows="3" ></textarea><br />
<input type="button" value="変換" onclick="change_box()">
</form>
</body>
</html>

テキストエリア内の改行をreplaceで除去したいのですが、FireFoxではうまくいくのですがIEではうまく動作しません。
下記のようなソースです。
IEではどのように書けば良いのでしょうか。

<html>
<head>
<script type="text/javascript" language="javascript">
function change_box(){
temp = document.getElementById("in").value;
temp = temp.replace(/\n/g,"");
document.getElementById("out").value = temp;
}
</script>
</head>
<body>
<form>
<textarea id="in" rows="3" >
一行目
...続きを読む

Aベストアンサー

temp = temp.replace(/\r\n/g,"");

これで出来ると思います。

QGmailの複数のアカウントを一括管理したい

Gmailのアカウントを複数もっていて、それを使い分けています。
Thunderbirdで読むときはすべてのアカウントを一括して送信日順などでソートして読めるのですが、iPhoneだとそうもいきません。

そこで、1つのGmailのアカウントに複数のGmailアカウントを受信するような方法はありませんか?

単純に転送させてもいいのですが、理想としては
例えばアカウント1、アカウント2、アカウント3があったとして、管理用アカウントAがあった場合、アカウントAでメールを読んで既読になったメールはアカウント1、2、3でもそれぞれ既読となるようにして欲しいのです。

このような管理は無理なのでしょうか?

Aベストアンサー

既成のソフトでは無理だと思います。
可能性があるとxしたら、全てのメールをIMAPで受信する方法ですけど、この場合、殆どのメールソフトはアカウント毎に受信トレイを作りますので。
かといってPOPで受信するのでは既読未読の制御ができないです。
あんまり欲張ると難しいと思います。
Thunderbirdで満足されているなら、Portable版をうまく使ったら良いのではないかと思います。

QJavaScriptのinnerHTMLの挙動について

下で"JavaScript内からJavaScriptを書き出したいのですが"で質問したものですが,ソースコードを簡単にして再質問したいと思います.
ソースは以下のようにし,divタグのところにinnerHTMLで文字"test"とJavaScriptでアラートを表示させるものです.表示してみたところ,"test"は表示されるのですが,アラートは出てきません.
これはinnerHTMLではHTMLのタグは評価されるが,JavaScriptは評価されない,ということなんでしょうか.JavaScriptのこのような仕様は調べにくいので困っています.回答宜しくお願いします.

<html><head><title></title>
<SCRIPT type="text/javascript">
<!--
var str='<font color="blue">test</font><script type="text/javascript">alert(123);</script>';
function gogo(){
document.all("here").innerHTML = str;
}
//-->
</SCRIPT>
</head><body>
<div id="here" style="position:absolute;width:600px;left:0px;top:0px;"></div>
<SCRIPT type="text/javascript">
<!--
gogo();
//-->
</SCRIPT></body></html>

下で"JavaScript内からJavaScriptを書き出したいのですが"で質問したものですが,ソースコードを簡単にして再質問したいと思います.
ソースは以下のようにし,divタグのところにinnerHTMLで文字"test"とJavaScriptでアラートを表示させるものです.表示してみたところ,"test"は表示されるのですが,アラートは出てきません.
これはinnerHTMLではHTMLのタグは評価されるが,JavaScriptは評価されない,ということなんでしょうか.JavaScriptのこのような仕様は調べにくいので困っています.回答宜しくお願いし...続きを読む

Aベストアンサー

Mac OS10.3 , IE5.2ですが、記載されているもので「123」のアラートが出てきましたよ。

Windowsをご使用とのことだったと思うので、その違いかもしれないですね。
ご使用のブラウザがJavaScript無効になってたりは…しませんよね(^^;

QGmailを通して複数のフリーメール(Yahoo!)アカウントを使用し

Gmailを通して複数のフリーメール(Yahoo!)アカウントを使用し、さらにそれをメールソフト(Thunderbird)で閲覧・送受信して使っています。
わざわざこうやっているのは、迷惑メールのフィルタがGmailの方が強力だからなのですが、ひとつよく分からないことがあります。

メーラーのGmailの中の迷惑メールフォルダをクリックすると、当然ながら迷惑メールを読み込み始めます。それをゴミ箱に移動し、さらにゴミ箱を空にすると、迷惑メールが完全に削除されるはずですよね。
ところが、メーラーの「送受信」を使って各アカウントのメールを全て受信すると数千という数の迷惑メールが受信されてしまいます。

一体どうやれば迷惑メールを完全削除できるのでしょうか。

Aベストアンサー

#2です。

>こういう設定であっても、メーラーから削除すればサーバーからも削除されると思ったのですが、どうも違うようですね。

Gmailの外部アカウントとして、YahooのアカウントをPOP受信で設定されて、その際にYahooのサーバーに残すように設定されていたら、ThundrebirdにYahooのPOPアカウントを設定されていたら、Yahooのアカウントにとっては、新着メールですから受信します。
メールソフトように何日後に削除の設定がないですから。

コピーを残さないようにした場合の問題は、Thunderbirdでは、Gmailのサーバーの定期的なアクセスでチェックされてGmailのサーバーに受信されたメールは、ThunderbirdのYahooのアカウントで受信チェックをしても、受信できないことが当然にあるということです。
迷惑メール以外のメールも同じ扱いになりますから。

しかし、GmailのIMAPアカウントで迷惑メールや真正なメールを処理・受信されているのでしたら、ThunderbirdのIMAPアカウントは、メッセージをダウンロード※できますから、GmailのIMAPアカウントからのコピー操作で、Yahooのアカウントトレイにも保存出来ます。
※GmailのIMAPアカウント設定にある「同期とディスク領域」にある詳細ボタンから、トレイを指定できます。

例えば、ThunderbirdのIMAPアカウントは、メッセージフィルターが効きますから、Gmailの受信時に必要なメールをThunderbird上のYahooのアカウントトレイにコピーのアクションを使ったらよいです。

複数のPCで確認される必要があるのでしたら、サーバーにある送受信トレイなどと、どのPCでも同期できるIMAPが当然で、ThunderbirdにPOPアカウントの設定をしても意味がなく、あくまでGmailの外部アカウントの設定の問題ですね。

考え方として、Thunderbird上のYahooのアカウントは送信時に使用すると考えれば良いわけで、その送信済みのメールもGmailのIMAPアカウントの適当なトレイにコピーしたら、Gmailのサーバーですべて管理できます。

#2です。

>こういう設定であっても、メーラーから削除すればサーバーからも削除されると思ったのですが、どうも違うようですね。

Gmailの外部アカウントとして、YahooのアカウントをPOP受信で設定されて、その際にYahooのサーバーに残すように設定されていたら、ThundrebirdにYahooのPOPアカウントを設定されていたら、Yahooのアカウントにとっては、新着メールですから受信します。
メールソフトように何日後に削除の設定がないですから。

コピーを残さないようにした場合の問題は、Thunderbirdでは...続きを読む

QJavaScript内からJavaScriptを書き出したいのですが

こんにちは.
JavaアプレットとJavaScriptを利用してJavaScriptを書き出すコードを書いてみたのですが,うまく動きません.具体的なコードは以下のようで,リンクはできるのですが,マウスを乗せるとオブジェクトを指定してくださいとエラーがでます.innerHTMLでJavaScriptを書き出すことはできないのでしょうか?
<html>
・・・
<body>
<SCRIPT language="JavaScript" type="text/javascript">
<!--
function dWrite(){
str='<script type="text/javascript">functionLinkMo(){varLM1;LM1=window.open"","Doc","toolbar=no,location=no,kdirectories=no,width=300,height=250");LM1.document.write"<html><head><title></title></head><body>testです/body></html>");LM1.document.close();}</script><body>rinku <ahref="#"onMouseOver="LinkMo()">ここにのせると</a></body></html>';
document.getElementById("here").innerHTML=str;}
//-->
</script>
<applet ・・・dWriteを呼び出す></applet>
<div id="here" style="position:absolute;width:600px; left:0px;top:0px;">
</div></body></html>

こんにちは.
JavaアプレットとJavaScriptを利用してJavaScriptを書き出すコードを書いてみたのですが,うまく動きません.具体的なコードは以下のようで,リンクはできるのですが,マウスを乗せるとオブジェクトを指定してくださいとエラーがでます.innerHTMLでJavaScriptを書き出すことはできないのでしょうか?
<html>
・・・
<body>
<SCRIPT language="JavaScript" type="text/javascript">
<!--
function dWrite(){
str='<script type="text/javascript">functionLinkMo(){varLM1;LM1=window.open""...続きを読む

Aベストアンサー

ども。(^o^)/

WindowsXP+IE6.0、NC7.1、OE7.23の環境で
「<applet ・・・dWriteを呼び出す></applet>」
の部分を
「<A href="#" onMouseOver="dWrite()">aaa</A>」
に変えてみたところ、問題なく動作するようです。
もしかしたら、JavaApplet側の呼び出し定義の問題かも
しれませんね。JavaAppletのプログラミングの問題で
したら、「http://oshiete1.goo.ne.jp/oshiete.php3?c=253」
での話になってしまいますが…。(自分もJAVAは詳しく無いので)

もし上記でもエラーが出るようでしたら、エラーの
内容やご利用のOS・ブラウザ等の環境を教えて
いただければもうちょっと詳しいお話が出来るかも。

ちなみに、JavaScriptでJavaScriptのコードを書き出すこと
自体は可能です。もちろん文字列のエスケープ等にも
注意する必要は有りますし、出来れば
str="<SCR"+"IPT type=~"
なんてしてあげた方が、誤動作を防げます。

ども。(^o^)/

WindowsXP+IE6.0、NC7.1、OE7.23の環境で
「<applet ・・・dWriteを呼び出す></applet>」
の部分を
「<A href="#" onMouseOver="dWrite()">aaa</A>」
に変えてみたところ、問題なく動作するようです。
もしかしたら、JavaApplet側の呼び出し定義の問題かも
しれませんね。JavaAppletのプログラミングの問題で
したら、「http://oshiete1.goo.ne.jp/oshiete.php3?c=253」
での話になってしまいますが…。(自分もJAVAは詳しく無いので)

もし上記でもエラーが出るようでしたら、エラーの...続きを読む

Q複数アカウント利用時のGmail送信サーバー?

こんばんは。

Gmailのアカウントを複数使い分けています。
これをThunderbirdでPOP受信しています、受信は各アカウント問題ないのですが送信した際にGmailのSMTPサーバーが一つしか設定できない(試しにGmailSMTPサーバー(アカウント)を複数追加してみましたが内容が同じからか結局1つになってしまいます)ためそのサーバーに入力したアカウントから送ったことになってしまいます。Beckyなどを使えば各送信サーバーアカウントが設定できるので問題ないのですが通常使うメーラーをThunderbirdにしようと思っています。なんとか設定できるものなのでしょうか?

要約すると、Thunderbirdを使って違うアカウントだが同じSMTPサーバーを利用する場合(ユーザー名が必要なSMTPサーバーの場合)どれか一つのアカウントからしか送信できないのでしょうか?

ややこしい文章で申し訳ありません、意味がわかる方よろしくお願いいたします。

Aベストアンサー

下記URLが参考になるのではないでしょうか。
それぞれユーザー名も設定すれば、アカウントごとにSMTPを使い分けることができます。
http://thunderbird.geckodev.org/index.php?%CA%A3%BF%F4%A4%CESMTP%A5%B5%A1%BC%A5%D0%A1%BC%A4%CE%C0%DF%C4%EA

サーバー名が同じなので設定した段階では見分けにくい?ですが・・メール作成画面では「差出人」に各アカウントが表示されます。

QJavaScript内で得た値をVBScript内で使用する。

こんにちは!

ちょっと複雑なのですが、ご存知でしたら教えて下さい。

今VBScriptで、ADOを使用してデータベース接続をし、コンボボックス
で一覧を選択できるようにしています。

ここで<SCRIPT LANGUAGE=javascript>を使用して
_onchange()関数(コンボボックスの値が変更したら関数を実行する)
でコンボボックスの値を取得します。
</SCRIPT>
↑この部分だけjavascriptで他はVBScript

で、この関数で取得した値をVBScript内で使用したいのですが、
可能でしょうか?

Aベストアンサー

こんにちは。これはASPの質問だと思いますが。。

toshi_1919さんのおっしゃる「VBScript」がサーバサイドスクリプトで、かつ
<scirpt language="JavaScript">
 function hoge()
 {
  a = parseInt(document.form.hoge.value, 10);
 }
</script>
<%
 b = a
%>
のような使用方法を想定しているのなら、「できません」という答えになります。
#サーバサイド、クライアントサイドで解析のタイミングが違いますので。

JavaScript、VBScript共に同レベルサイドのスクリプトであれば、
関数化する、一時的にhiddenに値を格納する(クライアントサイド)、
などして値を取得できます。

解らないようなら手近な入門書/参考書を購入する事をお勧めしますよ。
頑張って下さい。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報