+ JavaScript の質問用スレッド vol.35 +

このエントリーをはてなブックマークに追加
691Name_Not_Found:2005/04/07(木) 23:24:27 ID:C3VX0v7G
質問します。
<a onMouseOver="document.write('こんにちは')">メッセージ</a>
この「こんにちは」っていうのを同ページに設置したiframe上に
表示させたいのですが
<iframe name="frame1" src="〜"> ←ここに表示させたい。
どう書いたらよいのでしょうか。教えてください。
692 ◆q7u/null4U :2005/04/07(木) 23:34:58 ID:???
>>691
document.write(); は非常に使い勝手が悪いことをご存じ ?
(他の言語の print などとは根本的に違う)
document.write(); を読込時以外に使うと, すべてのソースがクリアされてしまう.
当然 script 自身も消滅.

この点を知っていないと無駄な時間を消費するだけ.
693Name_Not_Found:2005/04/08(金) 00:58:24 ID:???
nullうぜぇぇぇぇ!
694Name_Not_Found:2005/04/08(金) 01:20:06 ID:???
>>693
かまうな。無視。
>>691
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
window.frames.f0.document.writeln('こんにちは<br>');
}
</script></head><body>
<div onmouseover="test()">test...</div>
<iframe name="f0" src="about:blank">iframe here...</iframe>
</body></html>
695666:2005/04/08(金) 02:10:57 ID:???
>>667
俺664じゃないよw

>>678-680
微妙に終わった話題感があるけど、
親ページのリファラーとって、そのアドレスにリンクすればいいんじゃねーの? と思うわけだが。

>>694=664さんは、答えるのはいいんだけど、もう少しHTMLとかStrictとかを勉強した方がいいと思うなあ。
ただの例だとしても、f0 とかじゃなくてちゃんとしたわかりやすい名前つけたほうがいいと思う。

>>691
<iframe id="frame1" src="〜.html"> 内のドキュメントは
window.document 〜 じゃなくて
window['frame1'].document 〜 でアクセスできるから、
これさえ理解すれば、普通のがわかればできるでしょ。
696Name_Not_Found:2005/04/08(金) 04:03:26 ID:???
>>691
iframeにdocumentプロパティがあるのはIEの独自拡張だから
Geckoではdocument.getElementById("frame1").contentDocumentな。
それから読み込み時以外にdocument.writeしたらdocument.closeしておくのも忘れるなよ。
697Name_Not_Found:2005/04/08(金) 06:54:15 ID:???
ttp://www.axis.t.u-tokyo.ac.jp/〜shunak/ecmascript/escape.txt

にある unicode_escape()が使いたいのだけど、どうすればいいのかわからないのですが…

String.prototype.escape = unicode_escape;

function unicode_escape()
{
  var seq = ””;
  for( var i=0 ; i<this.length ; ++i )
    seq += ”%u” + this.charCodeAt(i).toString(16);
   return seq;
}

教えて下さい。
698Name_Not_Found:2005/04/08(金) 07:03:26 ID:???
var str1 = "あいうえお";
var str2 = str1.escape();
699697:2005/04/08(金) 07:08:21 ID:???
>>698
ありがとうございます。
700Name_Not_Found:2005/04/08(金) 07:20:41 ID:???
>>699
俺もそのページ昔読んだ。ちなみに encodeURIComponent()ってのもあるよ?
701Name_Not_Found:2005/04/08(金) 09:12:41 ID:???
>>696
Geckoでも >>691 動くよ。
702Name_Not_Found:2005/04/08(金) 14:26:31 ID:???
先輩方 知恵をお貸し下さい

1. <input type="submit" value="コーヒー">
2. <input type="image" src ="cafe.gif" alt="コーヒー">

いままで「1」でコーヒーという文字列を送っていたのですが
ボタンを画像に変更したいと思い「2」のように変更しました。

しかし、「2」だと「1」のような value値を送信出来ず
ボタンをクリックしても文字列を送信できなくなってしまいました。

JavaScriptのonClick等を使用して
value値をどうにか送信出来ないでしょうか?

ググったのですが良い方法が見つかりませんでした。
どうか宜しくお願いします
703Name_Not_Found:2005/04/08(金) 14:59:24 ID:jhk8RCvt
質問です。
ttp://www.geocities.co.jp/HeartLand-Kaede/3853/jyouhoufile/im6.html
このようにプルダウンで変更した画像に、リンク(画像によって違うURLをa hrefで)付けたいのですが、
どこかにサンプルがあれば教えてください。
704Name_Not_Found:2005/04/08(金) 14:59:46 ID:???
>>702
イメージボタンは基本的には name=value&name.x=0&name.y=0 という
形でデータを送ってくるんだけど name=value の部分と
name.x=0&name.y=0 の部分 (0 はクリックされたイメージ上の座標) の
どちらかしか送ってこない場合もある。

フォームに送信ボタンが複数ある場合は name 属性をボタンごとに
ユニークな値 (例えば <input name="コーヒー">) にすれば、
少なくとも "コーヒー=" か "コーヒー.x=&コーヒー.y=" というデータの
どちらかは送られてくるから受け側で判別できると思う。

JavaScript でというなら、<input type="hidden" name="名前"> を
仕込んでおいて、onclick="this.form.elements['名前'].value = this.value;"
のような感じで隠しコントロールにコピーするとか。
705Name_Not_Found:2005/04/08(金) 15:33:29 ID:???
>>702
ついこないだ似たようなことをやったばかりだったので。

var tmp = document.getElementsByTagName("input");
for(var i=0 ; i<tmp.length ; i++){
    if(tmp[i].type == "image"){
        tmp[i].onclick = function(){
            var ib_name = this.name;
            var ib_value = this.value;
            // ↓これがフォーム要素
            var target = document.getElementById("FormName");
            var MyHidden = document.createElement("input");
            MyHidden.type = "hidden";
            MyHidden.name = ib_name;
            MyHidden.value = ib_value;
            target.appendChild(MyHidden);
            
            target.submit();
        }
    }
}
706Name_Not_Found:2005/04/08(金) 15:39:37 ID:???
>>703
画像リソースのurlとリンク先urlの二つが必要なので、

1.option要素のvalueの値を番号(id)とかにしておいて、
  その番号に呼応した配列に両者を入れておく
2.option要素のvalueの値に両者を適当な区切り子を挟んで
  入れておく

のどちらかをしておいて、
document.war.link(リンク先のurl);

とする。
707Name_Not_Found:2005/04/08(金) 15:46:48 ID:???
>>705
それだと submit() がキャンセルされると作成した Hidden が
残ってしまうから、別のボタンで再送信すると前に作成したのと
あわせて二重にデータが送られてしまう。

一つの Hidden を使い回すか、前に作成されたのがあれば
取り除くようにしないと安全でないと思う。
708702:2005/04/08(金) 16:19:32 ID:???
>>704
>>705
レスありがとうございます。

せっかく教えてもらったのですが
私の頭が悪くて理解出来ませんでした。><

もう少し、具体的に申し上げますと
1. <input type="submit" value="コーヒー">
2. <input type="image" src ="cafe.gif" alt="コーヒー" name="drink">
のようにname属性も指定しており

--------------------------
drink = コーヒーなら 飲む
drink = ココア なら 飲まない
--------------------------
のようにプログラムで判断させたいのです。

imageに変えてから、value値(コーヒー、ココア)を送信できない為
<input type="image" src ="cafe.gif" alt="コーヒー" name="drink" onClink="なにか">
javascriptで出来ないか考えております。

javascriptを使用しなくてもいいのですが、座標の意味が分かりませんでした。
もう少し具体的に教えて頂ければありがたいです。

自分でも調べております。
どうぞよろしくお願いします

709Name_Not_Found:2005/04/08(金) 16:35:55 ID:???
>>708

>>704の方針で行くなら>>707も言ってるけどWinIEではcreateElementを使った
フォームコントロールの生成に問題があるし(※)MacIEでは
フォームコントロールを動的に生成すると不安定になるらしいから
あらかじめ存在するhiddenコントロールを使いまわすに1票。
ttp://msdn.microsoft.com/workshop/author/dhtml/reference/methods/createelement.asp

で、別のやり方としては
<input type="image" src ="cafe.gif" alt="コーヒー" name="drink_coffee">
<input type="image" src ="cocoa.gif" alt="ココア" name="drink_cocoa">
とでもしといて、
--------------------------
drink = コーヒーなら 飲む
drink = ココア なら 飲まない
--------------------------
ではなく
--------------------------
drink_coffee.x が存在するなら 飲む
drink_cocoa.x が存在するなら 飲まない
--------------------------
というのもあると思う。
710Name_Not_Found:2005/04/08(金) 17:04:55 ID:???
>>708
HTML のフォームの話になるんだけど、
<form action="送り先の URI"><p>
<input type="image" alt="〜" src="〜" name="drink" value="コーヒー">
<input type="image" alt="〜" src="〜" name="drink" value="ココア">
</p></form>

にようなフォームの場合、コーヒーの方のボタンが押されたら
クエリーは drink.x=0&drink.y=0 という形になる。
これだとコーヒーが押されたかココアが押されたか判別できないよね。

<input type="image" alt="〜" src="〜" name="coffee" value="コーヒー">
<input type="image" alt="〜" src="〜" name="cocoa" value="ココア">

にしておけば、coffee.x=0&coffee.y=0 という形になるので
coffee.x があるか cocoa.x があるかで判別できるということ。

<input type="submit"> や <input type="image"> は一つしか
successful にならない。つまり、coffee.x と cocoa.x が同時に
送られてくることは (少なくとも規格上は) ないはず。

座標というのは、イメージボタンのどこをクリックしたかによって
応答を変えることができる仕組み。今回のような場合は関係ない。
711まゆみ☆:2005/04/08(金) 22:08:30 ID:Il07iP00
たすけてください!!
言語 ASP & javascript + vbs
CREATEOBJECTにてExcel起動を行っているのですが,
Windows 2000 server IIS5だと問題なく動作するのですが、
Windows 2003 server IIS6だとそのページさえいきません。。。

現象としてはグループで分類し240件を超えてしまうと
まったく動作しなくなってしまいます。
それ以下だとプリントできます。
どなたかお知恵をお貸しください
どうぞよろしくお願いいたします。

以下にリンクスクリプトを記載いたします。
長文失礼いたします。
//リンクを行う
parent.menu2.location.href = "TanPrint.asp";
会社の先輩にいじめられて早くしないと・・・
712Name_Not_Found:2005/04/08(金) 22:28:28 ID:???
ハア?
713Name_Not_Found:2005/04/08(金) 22:35:09 ID:???
別の原因でExcelが正常終了せずにプロセス残ってたりしたらお笑いぐさだが。
現状が分かんね。
714Name_Not_Found:2005/04/09(土) 03:12:00 ID:???
>>709
>>710

皆さんのおかげでかなり理解できました。
name属性をユニークな値にしてプログラムの条件判断を変更してみます。

画像にするだけで、こんなに大変な事になると思いませんでした。
しかし、いい勉強になりました。
親切に教えてくれた方、どうもありがとうございました。
715Name_Not_Found:2005/04/10(日) 01:58:38 ID:4N6iB2uo
「固定アドレス+フォーム」で設定
フォームに入力して決定を押すと、そのサイトを開いてくれるJAVAを探しているのですけど、
ご存知の方、教えてもらえないでしょうか??
716Name_Not_Found:2005/04/10(日) 05:59:20 ID:???
717Name_Not_Found:2005/04/10(日) 09:37:42 ID:???
>>715
Javaはスレ違いとかもそうだが、日本語が理解できない。
そばの人間に説明なしでそれ読ませて理解できるかチェックしてみれ。
718Name_Not_Found:2005/04/10(日) 10:32:15 ID:???
719Name_Not_Found:2005/04/10(日) 10:53:59 ID:???
>>718
それの何処を見れば良いのでしょうか。
できれば、1.4じゃなくて5.0(1.5)でよろしく。
720Name_Not_Found:2005/04/10(日) 13:47:48 ID:???
>>716,717
うるっさいですね
わからないからって、くだらない言いがかり付けないでください。
わからないならスルーすればいいでしょう。ムキになって反応して恥ずかしいですよ?

>>718
人が聞いてるのに何無視してるんですか?さっさと教えてください。
あ、もしかしてそれ以上はわからないってことですか?それは失礼。

他の人教えてください。
721Name_Not_Found:2005/04/10(日) 16:12:31 ID:???
「分からないだろう」という煽りは役に立たないよ。
マジでJavaの質問なのか…だったらJavaのスレへ逝けば?
722Name_Not_Found:2005/04/10(日) 16:39:34 ID:???
質問の内容自体が読解可能ならアドバイスしてくれる
輩も現れるかも知れないとは思うのだけどね…

URLを指定してどっかに飛ぶのならブラウザのURL窓に
打ち込めばいいんでは :-)
723Name_Not_Found:2005/04/10(日) 20:10:54 ID:???
板違いのようなのでこっちで質問させてもらいます

JAVA質問スレのテンプレ>>1
>以下のエラーが表示されて、途方にくれているあなたは、下のページへ。 」
>「Exception in thread "main" java.lang.NoClassDefFoundError: 」
>http://www.wikiroom.com/java/?path,classpath
と同じ症状で途方にくれてるものですが
リンク先の処置をしても同じようなエラーが出ます

それで質問なんですがこちらwin98seでautoexe.batを開くと
loadhigh C:\WINDOWS\COMMAND\nlsfunc.exe C:\WINDOWS\country.sys
しか書いてなく
PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\J2SDK1.4.2_01\BIN
を追加したのですが
loadhigh C:\WINDOWS\COMMAND\nlsfunc.exe C:\WINDOWS\country.sys
が1つしか書いてないautoexe.batは正常ですかね?
724Name_Not_Found:2005/04/10(日) 20:48:19 ID:???
Q Javaって何ですか?
A ジャワ原人のジャワです。
725Name_Not_Found:2005/04/10(日) 21:08:27 ID:???
Javaの質問はム板のJava質問スレへどうぞ。
726Name_Not_Found:2005/04/10(日) 21:28:25 ID:???
>>725
らじゃー
727Name_Not_Found:2005/04/11(月) 03:11:55 ID:C7/gzSLN
本人ですけど、>>720と719は偽者ですので。

一応。
728Name_Not_Found:2005/04/11(月) 05:59:54 ID:???
質問です、お願いします。
下のアクセスログ用のスクリプトを書いたら
W3Cゲートウェイでメチャクチャに減点されました。

<SCRIPT type="text/javascript" language="JavaScript">
document.write("<script type=text/javascript
src=\"http://〜〜&NoReload=true&referer=");document.write(document.referrer
+"\" charset=\"Shift_JIS\"></" + "script>");</SCRIPT>
<NOSCRIPT><A href="http://〜〜">
<IMG src="http://tipy.〜〜=true&img=1" border="0" alt="アクセス解析">
</A></NOSCRIPT>

指摘された点は
(1) <SCRIPT> に対応する終了タグ </SCRIPT> が見つかりません。
(2)メタ文字 `<` は `<` と書かなければなりません。
(3)メタ文字 `>` は `>` と書かなければなりません。
(4)</SCRIPT> に対応する開始タグ <SCRIPT> が見つかりません。
(5)`&NoReload` は不明な実体参照です。
(6)`&img` は不明な実体参照です。
調べたけどサッパリわかりません。
宜しくお願いします。

_| ̄|○
729Name_Not_Found:2005/04/11(月) 06:20:02 ID:???
>>728
DOCTYPE くらい書いたらどうだね
730Name_Not_Found:2005/04/11(月) 06:20:37 ID:???
>調べたけどサッパリわかりません。

なにをどう調べたんだ?俺はなにを調べればいいのかもわからないぞ。
そもそもあんたが何を問題点として設定しているのかもわからないが。

あ、調べたってバリデータのソース?w
それなら話はわかるんだけど。
731Name_Not_Found:2005/04/11(月) 06:28:09 ID:???
>>728
4.01 Traditional として

<script type="text/javascript">
<!--
document.write("<" + "script type=text/javascript src='http://example.com/?var1=val1&amp;var2=val2" + document.referrer + "' charset='Shift_JIS'><" + "/script>");
//-->
</script>
<noscript><a href="http://example.com/"><img src="http://example.com/?var1=val1&amp;var2=val2" border="0" alt="アクセス解析"> </a></noscript>
732Name_Not_Found:2005/04/11(月) 06:48:13 ID:???
>>731
> "<" + "script ...
この分割は必要無い。
まずありえないが、万一、ヴァリデタが要求したなら、そのヴァリデタが不正。
733Name_Not_Found:2005/04/11(月) 07:05:47 ID:???
>>732
ウホッ
為になりました thx.
734Name_Not_Found:2005/04/11(月) 07:59:16 ID:???
ふつー、閉じタグ書くとこは「"<\/script>"」とかするだろ。
いちいち連結してたら読みづらい。
735728:2005/04/11(月) 08:23:33 ID:???
朝からスレ汚しスマソ

>>731-732
ありがdks

脊髄反射のコピペをせずに
自分なりに考えてみます
マジありがとうデスタ
736Name_Not_Found:2005/04/11(月) 11:09:12 ID:hy+lq43R
質問です。

input type="file"を使ってファイルを指定した後、
何かのボタンを押す時のイベントで、
指定されたファイルが実際にあるかどうかの
チェックをしたいのですが、
Javascriptで実装することは可能ですか?

可能な場合、具体的にどうやってやればいいんでしょうか・・・?
JavascriptでWindowsのチェックはどこまで可能なのでしょうか?
737Name_Not_Found:2005/04/11(月) 13:01:35 ID:???
>>736
ブラウザ上のJavaScriptからローカルシステム上のファイル
に(その有無だけでも)アクセスすることはセキュリティ制約
から禁止されている。もし可能になっていたらそれはセキュリ
ティホール。あきらめるのが吉。
738Name_Not_Found:2005/04/11(月) 13:11:16 ID:hy+lq43R
>>737
レスありがとうございます。
ファイルチェックはサーバ側でしなきゃいけませんね。
クライアントでは厳しいですか。
739Name_Not_Found:2005/04/11(月) 14:56:22 ID:???
>>738
サーバ上からは当然、クライアントのローカルファイルには触れない。
予めあるかどうかチェックするのは不可能だと言っている。送信されて
きたものを見て「なかった」とかチェックするのはそりゃできるだろうが。

最初の質問はageてくれていいが、その後はsage進行にしてくれ。
740Name_Not_Found
>>738
WindowsだからIEまたはIEエンジンを使ったブラウザに限定すれば、
不可能という意味ではなく、
セキュリティ上の設定でできない。と言う事だ。
IEのインターネットオプションのセキュリティ設定の意味が分からないうちは
それができないし、手を出すべきでもない。


なお、上記とは関係なく、
<INPUT type='file'> は元々セキュリティ部品の設計。ここから直接読む方法はム板で聞け。教えないし分かるならここにいないわなw
ただ、ローカルファイル選択を別の方法でする事ができる。JavaScript固有の問題でないのでおやすみ。