OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

alertでHTMLのコードが出てしまう。

  • すぐに回答を!
  • 質問No.163911
  • 閲覧数286
  • ありがとう数3
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 36% (14/38)

今、自分で作ってるプログラムの話です。。

alert に、HTMLのコードが入ったもの<BR>とか、を入れた場合、どうもそのまま<BR> と表示されてしまいます。
改行は、してもしなくてもいいんですが、巧い方法って有りますでしょうか?
やや困りです。
宜しくお願いします。

ちょっと具体的に書きますと。。

まず、画面Aで 画面Bのタイトルを入力してもらいます。
その時、場合によっては<BR>を入れてもらい、改行、もしくは<FONT>等で色の指定等してもらいます。
画面Bには選択欄が有り、そこの選択欄が正しく選択されてない場合、
(画面Bのタイトル)が、選択されてません
というalertを出す仕組みです。

つまり画面Aにて、「画面B<BR>のタイトル」と入力した場合、
alert でも、
画面B<BR>のタイトルが、選択されてません
と表示されてしまいます。

という感じですが、HTMLタグがalertで出ない方法です。
こうしたらいいんじゃない?っていうアイディアでも構いません。
宜しくお願いします。
通報する
  • 回答数5
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.4

言語はJavaScriptという前提の元で。

取得した値を検索して、<BR>があるかどうかを判定し、あれば置き換える、という処理でいいのではないでしょうか?

実際にテストしていないので、正常に動くかどうかわかりませんが、

ver strValue=document.***.***.value;
↑ここは、入力された値が入るように変えてください。
res=strValue.indexOf("<BR>",0) //<BR>を検索
if(res != -1){ //該当がなければ-1が返るので
 strMsg=strValue.replace("<BR>","\n"); //<BR>を改行に置き換え
}
alert(strMsg);

といった感じでしょうか。

<BR>の大文字、小文字の問題等出てくると思いますので、調整してください。
改行をしないようにしたいのであれば、replaceの"\n"の部分を""にすればいいと思います。
お礼コメント
da1yan

お礼率 36% (14/38)

JavaScriptで。って事を書き忘れてましたね。
登録したカテゴリーがそうだったので、うっかりしてました。
っていうか、ASPです。

ごていねいに有り難うございました。
最初の人のお返事にも書いたんですけど、なんとなく解決しました。
問題は<BR>だけじゃなくて、全てのタグだったんです。
<>を検出して置き換える関数を作成しました。
が、半角も全角もお構いなしに検出してしまうので、困ったもんです(笑)
投稿日時 - 2001-11-08 13:53:18
-PR-
-PR-

その他の回答 (全4件)

  • 回答No.1
レベル11

ベストアンサー率 28% (122/425)

何の言語か解らないですが...。 要は、「画面B<BR>のタイトル」を、「画面Bのタイトル」と表示したいのですよね? 単純に、”<”~”>”を削除したら駄目なのですか? タグは、基本的に”<”と”>”で囲まれてる筈ですので...。 多重括弧だけ検出すれば、問題無いと思うのですが? 質問の意味を取り違えてたら、すいません。 ...続きを読む
何の言語か解らないですが...。

要は、「画面B<BR>のタイトル」を、「画面Bのタイトル」と表示したいのですよね?

単純に、”<”~”>”を削除したら駄目なのですか?
タグは、基本的に”<”と”>”で囲まれてる筈ですので...。
多重括弧だけ検出すれば、問題無いと思うのですが?

質問の意味を取り違えてたら、すいません。
お礼コメント
da1yan

お礼率 36% (14/38)

有り難うござます。ただ、そのやり方が解らなくて。。
でも、なんとなく解決しました!
投稿日時 - 2001-11-08 13:47:47


  • 回答No.2
レベル14

ベストアンサー率 24% (612/2465)

画面B\rのタイトル としてみてください。
画面B\rのタイトル
としてみてください。
  • 回答No.3
レベル9

ベストアンサー率 27% (24/86)

入力された文字列から「<>」に、はさまれた部分を探し出して、削除するなり、他の文字に置き換える処理を入れてみるのは、いかがでしょう?
入力された文字列から「<>」に、はさまれた部分を探し出して、削除するなり、他の文字に置き換える処理を入れてみるのは、いかがでしょう?
  • 回答No.5
レベル12

ベストアンサー率 75% (398/526)

詳しい状況が分からないので何とも言えませんが、入力チェック時の警告は、alertでなければなりませんか? 別に何でもよいのであれば、サイズなどを指定したHTMLをポップアップしてもよいのではないでしょうか。これならタグは本来の働きをするだけで、表示されることはないですよね。 次の関数を追加して、 function warn(str) { var win = open('_blank ...続きを読む
詳しい状況が分からないので何とも言えませんが、入力チェック時の警告は、alertでなければなりませんか?
別に何でもよいのであれば、サイズなどを指定したHTMLをポップアップしてもよいのではないでしょうか。これならタグは本来の働きをするだけで、表示されることはないですよね。
次の関数を追加して、

function warn(str)
{
var win = open('_blank', 'caution', 'width=300,height=200');
win.document.write('<HTML><BODY><CENTER><FORM name="f">');
win.document.write(str + '<BR><BR>');
win.document.write('<INPUT type="button" name="b" value="閉じる" onClick="window.close()">');
win.document.write('</FORM></CENTER></BODY></HTML>');
win.focus();
}

更に画面Bのalert文を、下記のように変えてみて下さい。

alert(message)
  ↓
warn(message)

※alertの引数を、そのままwarnに渡して下さい。
お礼コメント
da1yan

お礼率 36% (14/38)

どうも有り難うございます。
一応試してみました。が、やっぱしJavaScriptの方が良さそうです。。
下の方に加えておきましたが、<>で検出して中身を外す関数を、頑張って作りました!
一応、alertに渡す前にASPを使って外す、というものです。
とりあえずは、それで解決しそうです。
<が片方だけだった時とか、全角で打たれた時とか、いろいろ謎は多いんですけどね。
投稿日時 - 2001-11-08 13:58:53
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ