JavaScriptで製作したものをHTMLだけで



0   名前: joker : 2006/07/05(水) 08:56  ID:2pw04GdS
<html>
<title>open new window1</title>
<script type="text/javascript">
<!--
function openWin() {
var win1=window.open();
win1.document.write(document.getElementById("text").value);
}
//-->
</script>
<body bgcolor="#fff8bc">
<h3>新しいウィンドウをオープン(表示指定なし)</h3>
<hr />
<form>
<textarea id="text"></textarea>
<input type="button" value="Open Window" onclick="openWin()" />
</form>

</body>
</html>

こういったJavaScriptを、起動の問題上、HTMLのみで作りたいのですが作り方がよくわかりません><

どなたかおしえていただけませんか?

1   名前: m035 ◆Wpzr1YKOiq : 2006/07/05(水) 08:56  [URL]  ID:/mDKqX99
ターゲットを_blankにしたリンクをつくり、リンク先にHTMLを用意しておくとか。
http://www.tagindex.com/html_tag/link/a_target.html
ただし、新しいウィンドウが開くとは限りません。
これについては最近の別のスレッドで言及されていたと思います。

それと、リンク先の内容がtextareaの内容になるのでしたら、ターゲットを_blankにしたformでCGIを呼び出して、CGIにデータを送信し、CGIがHTMLとして渡したデータを返すようにしないと、JavaScriptを使わないように出来ないと思います。

2   名前: Joker : 2006/07/05(水) 08:56  ID:l2.jD1ix
やってみたのですがどうにも思うように動きませんOTZ
あつかましいですがどなたか、サンプルみたいなの作れる方いらっしゃいませんかOTZ

ウィンドウがやっぱり新しく開いてくれないですOTZ

3   名前: はな : 2006/07/05(水) 08:56  ID:1CNNH4R4
起動の問題があるならば、
<script type="text/javascript">
<!--
function openWin() {
var win1=window.open();
win1.document.write(document.getElementById("text").value);
}
//-->
</script>
を外部ファイル化してやれば問題は解決されると思います。
HTMLファイル内のJSで起動上の問題が起こるサーバーでCGIか正常起動するとも思えませんし。
JS外部ファイルは、この部分
function openWin() {
var win1=window.open();
win1.document.write(document.getElementById("text").value);
}
あとは、このタグでHTMLファイル内に呼び込んでください。
<script type="text/javascript" src="script.js"></script>
起動の問題の問題でJSがうまく働かないときは、自分もこの方法で解決したことがあります。

4   名前: Joker : 2006/07/05(水) 08:56  ID:l2.jD1ix
たびたびすいません。

JavaScript自体を使わずにできればベストなのですが・・・・・。

何か方法はないものでしょうかOTZ

5   名前: 木目 : 2006/07/05(水) 08:56  ID:5dCHKxEF
↓く、苦しい・・・?

<form action="http://www.tagindex.com/" target="_blank">
<textarea id="text"></textarea>
<input type="submit" value="Open Window">
</form>


6   名前: m035 ◆Wpzr1YKOiq : 2006/07/05(水) 08:56  [URL]  ID:BGbhOCeB
>>1
で書いたとおりです。
データを引き渡したければCGIを使わなければ無理です。
別窓表示は確実ではないにしろ、HTMLで実現できます。

7   名前: joker : 2006/07/05(水) 08:56  ID:l2.jD1ix
初心者のためご迷惑をおかけしておりますOTZ

なにぶん知識が甘いもので

ターゲットを_blankにしたformでCGIを呼び出して、CGIにデータを送信し、CGIがHTMLとして渡したデータを返すというのがいまいち良くわかりませんOTZ

教えていただきませんか・・・・OTZ

8   名前: はな : 2006/07/05(水) 08:56  ID:1CNNH4R4
自分もCGI読めません。(内部サーバーエラーから抜け出せないためあきらめた。)
HTMLでは、ではない難しいソースです。
JSよりも難しいです。
初心者ならあきらめるしかないのではないでしょうか。

9   名前: 木目 : 2006/07/05(水) 08:56  ID:5dCHKxEF
途中までやってみましたが
日本語の処理はできてません

http://aurasoul.vis.ne.jp/wpn/test1.html

test1.html

<html>
<title>open new window1</title>
<body bgcolor="#fff8bc">
<h3>新しいウィンドウをオープン(表示指定なし)</h3>
<h>
<form action="test16.cgi" method="POST" target="_blank">
<textarea name="com"></textarea>
<input type="submit" value="Open Window" onclick="openWin()" />
</form>

</body>
</html>


test16.cgi

#!/usr/local/bin/perl

read(STDIN, $formin, $ENV{'CONTENT_LENGTH'});

@indata = split (/&/,$formin);

foreach $tmp (@indata) #フォームの要素分(配列分)以下の処理を繰り返す
{
	($name,$value) = split (/=/,$tmp); # =記号で区切り、名前 と 値 に分ける
	$forminh{$name} = $value; #区切った名前を付けた連想配列に値を入れる
}

$com = $in{'com'};

print "Content-type: text/html\n\n";

print "$value";


10   名前: 木目 : 2006/07/05(水) 08:56  ID:5dCHKxEF
訂正

<html>
<title>open new window1</title>
<body bgcolor="#fff8bc">
<h3>新しいウィンドウをオープン(表示指定なし)</h3>
<h>
<form action="test16.cgi" method="POST" target="_blank">
<textarea name="com"></textarea>
<input type="submit">
</form>

</body>
</html>


#!/usr/local/bin/perl

read(STDIN, $formin, $ENV{'CONTENT_LENGTH'});

@indata = split (/&/,$formin);

foreach $tmp (@indata) #フォームの要素分(配列分)以下の処理を繰り返す
{
	($name,$value) = split (/=/,$tmp); # =記号で区切り、名前 と 値 に分ける
	$forminh{$name} = $value; #区切った名前を付けた連想配列に値を入れる
}

print "Content-type: text/html\n\n";

print "$value";


一覧へ戻る