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

このエントリーをはてなブックマークに追加
937Name_Not_Found:2006/08/18(金) 05:03:44 ID:???
んーーー
xxxxxxの部分に日本語が入ってるわけでもないよね?
キャッシュが残ってるとかってオチだったりして
938Name_Not_Found:2006/08/18(金) 07:23:46 ID:???
FAQ>>3 のQ5/A5じゃないの。
939Name_Not_Found:2006/08/18(金) 10:42:57 ID:???
どっかほかにエラーがあるんじゃないかと
940Name_Not_Found:2006/08/18(金) 14:01:25 ID:???
prtotype.js、scriptaculousあたりはテンプレに加えてもいいんじゃねーの
941Name_Not_Found:2006/08/18(金) 14:17:02 ID:???
ライブラリについては需要が多ければ専用スレが立つのでは
ということでこれまで無視してきたけどどうするかね?
942Name_Not_Found:2006/08/18(金) 18:35:33 ID:YkUOPTHB
>>918

いい加減なこと言うなw
943Name_Not_Found:2006/08/19(土) 01:55:37 ID:5ahFeV0I
テキストボックスに入力した名前のサブウインドウをリサイズさせたいのですが、
ウインドウ名からそのウインドウオブジェクトを取得する方法を教えてください。

同様の機能が実現できる別案でも結構です。

<HTML><HEAD><SCRIPT>
function act(){
w=document.forms[0].elements[0].value;
/** obj=???( w ); 入力されたウインドウ名のオブジェクトを取得 */
obj=window.open( "", w ); /** これの戻り値相当のものをとりたい */
obj.resizeTo( "320" , "240" );
return true;
}
</SCRIPT></HEAD><BODY>
<FORM onSubmit="act();">
<INPUT><INPUT type="submit">
</FORM></BODY></HTML>
944Name_Not_Found:2006/08/19(土) 02:37:32 ID:???
>>942
kwsk
945Name_Not_Found:2006/08/19(土) 08:16:41 ID:???
onmouse で テーブルのセル内の色を変えたいのですが、
よく出てくる表記の仕方 onmouseover="this.style.backgroundColor=''; だと、
色を変えたいセルがいくつもあるのと、ひとつひとつ<TD>の中に入れるのが大変なので、
一括で指定したいと思っています。(変わる色はまったく同じでかまいません)

検索してみて ttp://www.parkcity.ne.jp/~chaichan/qanda/qa5684.htm のページを見つけたのですが、
指定されたIDのセルのみ動作するようにしたいのですが方法が分かりません。よければご指導ください。

946Name_Not_Found:2006/08/19(土) 08:33:28 ID:???
>>943
それで取れると思うけど?フォームを提出してしまってるから
いけないんじゃないの。buttonにしてonclickで動作してみたら。
>>945
まだ問題設定が明確でないんだけど。「idのリストを用意して、これらのidを
持つセル全部についてonmouseoverで色を変更する」でいいのかね。それなら
var a = ['id1', 'id2', ...];
for(var i in a) {
var e = document.getElementById(a[i]);
e.onmouseover=function(x){return function(){x.style.backgroundColor='pink';};}(e);
}
もちろん上記が「すべてのidが出て来た後で」実行されるように最後に入れる
かbodyのonloadで実行されるかするように。
947 ◆.PT9876/4U :2006/08/19(土) 09:09:42 ID:???
>>945
このスレッドの性格からしてヒントだけを書いておく:
これは Bookmarklet 化が可能だ.
もちろん, body onload で呼び出すこともできる.
948Name_Not_Found:2006/08/19(土) 09:28:28 ID:???
おいおい… >>945 のサイト見る奴皆がそのbookmarklet入れて自分で
それを選べってのかね。おかしすぎ。

やっぱり隔離スレが必要なんじゃないの?
949Name_Not_Found:2006/08/19(土) 09:32:12 ID:???
次スレは975超えたら。テンプレは基本的に従来通り、参考サイトの
ショボイの2件とアクセスできないものは削って >>930 を入れる。
ライブラリは先送り。くらいでどお?
950 ◆.PT9876/4U :2006/08/19(土) 09:41:15 ID:???
>>978
説明不足かも知れないな.
"Bookmarklet にできる" と言う意味は
"HTML 部を一切いじらないで実現可能だ" ということ.

念のために Bookmarklet を張り付けておく :
javascript:function SetAttr(){var Td,l;Td=document.getElementsByTagName('td');l=Td.length;for(i=0;i<l;i++){Td[i].setAttribute('onclick',"style.backgroundColor='#660000'")}}SetAttr()
ここの質問者なら onload で動作するように書き換えられるはず.

注意 :
IE5.17(Mac版) では動かない.
(setAttribute をサポートしていない)
951 ◆.PT9876/4U :2006/08/19(土) 09:55:57 ID:???
>>945 を良く読んでいなかった...
しかし, id を振っていくのなら
onmouseover="~" を書きこむのと手間は大して変わらない.
根本的に考えを改めるべきだ.
952 ◆.PT9876/4U :2006/08/19(土) 10:03:22 ID:???
揚げ足を取られないうちに anchor miss を訂正 :
>>978 -> >>948
953Name_Not_Found:2006/08/19(土) 11:16:21 ID:???
誰かさっさと隔離スレ立ててくれ。スレの無駄づかいかなわん。
954Name_Not_Found:2006/08/19(土) 11:28:27 ID:???
955Name_Not_Found:2006/08/19(土) 12:28:37 ID:???
次スレのテンプレは>>920>>921からしょぼいのを削除、
>>930はいらないんじゃないか。1.6のときも載せてないし
特定のブラウザのみで動く情報はこのスレにはあまり求められてないと思う。
956Name_Not_Found:2006/08/19(土) 16:48:54 ID:El8mXc24
>>947
>このスレッドの性格からしてヒントだけを書いておく:

そんな性格だったのか・・・・
957Name_Not_Found:2006/08/19(土) 17:44:59 ID:???
--- HTML -------------------------------------------

<div id="hoge"></div>
<div id="hello"></div>
<script>addInputButton();</script>


--- JS ----------------------------------------------

function addInputButton() {
var input = document.createElement('input');
input.setAttribute('type', 'submit');
input.setAttribute('value', 'Hello');
input.setAttribute('onclick', 'hello();');
$('hoge').appendChild(input);
}

function hello() {
$('hello').innerHTML = 'Hello!';
}


上記の関数を実行するボタンをDOMで追加するスクリプトを FireFox と IE でテストしました。
両方とも hello ボタンが表示されました。
しかし、IEではボタンを押しても hello() が呼び出されないようなのです。
IE と FireFox の両方で動くようにするにはどうしたらよいでしょうか。
958Name_Not_Found:2006/08/19(土) 18:00:27 ID:???
function addInputButton() {
var input = document.createElement('<input onclick="hello();">');
input.setAttribute('type', 'button');
input.setAttribute('value', 'Hello');
//input.setAttribute('onclick', 'hello();');
document.getElementById('hoge').appendChild(input);
}

冗談のようなホントの話
959Name_Not_Found:2006/08/19(土) 18:23:31 ID:???
すいません、selectフォームのonChangeで関数を呼びだす時に、
引数として現在選択されているoption値を指定したいんですが、
formタグなしでthis参照みたいな相対的な指定でやる方法がよくわかりません。

<select name="test" onChange="hoge(this.test.value)">

みたいな感じで書いてみたんですが、うまく動かず…。

どなたかアドバイスなど頂けたらうれしいです。
960Name_Not_Found:2006/08/19(土) 18:40:21 ID:???
<select onchange="alert(this.value)">
<option value="値1" selected>項目1</option>
<option value="値2">項目2</option>
<option value="値3">項目3</option>
</select>

this で参照したいのか name 属性で参照したいのかどっち?
961943:2006/08/19(土) 18:54:15 ID:5ahFeV0I
>>946
ご指摘のとおりできました。
window.open(""); でブランクページが表示されると思い込んでいたのですが、
試してみたらそうではなかったようです。
ありがとうございました。
962Name_Not_Found:2006/08/19(土) 19:11:12 ID:???
>>957
input.onclick = hello;
963957:2006/08/19(土) 19:17:29 ID:???
>>958
なんですかそれ・・。って、IEで動いた!すげー
しかしFireFox で以下のエラーがでて動きません・・・

エラー: uncaught exception: [Exception... "String contains an invalid character" code: "5" nsresult: "0x80530005 (NS_ERROR_DOM_INVALID_CHARACTER_ERR)" location: "xxxxxx"]


>>962
FireFox, IE 両方で動作確認取れました。thx
964Name_Not_Found:2006/08/19(土) 19:26:05 ID:???
>>960
できました!ありがとうございます
参照は選択中のvalueがわかればthisでもnameでもどっちでもよかったんですが、
nameで試してもうまくできなかったのでthisの方が簡単そうですね。
965Name_Not_Found:2006/08/19(土) 20:44:25 ID:nKLXZV7e
ツリー式のメニュー表示について質問です。

<SCRIPT language="JavaScript">
<!--
function menu(id){if(document.all(id).style.display == "none")
{document.all(id).style.display="block";}else
{document.all(id).style.display="none";}}
//-->
</SCRIPT>


<A HREF="JavaScript:menu('tree');">メニュー</A><BR>
<DIV ID="tree" style="display:none;">
 ┣ 1<BR>
 ┣ 2<BR>
 ┗ 3<BR>
</DIV>

上記の動作確認をwinでしたところIE opera共に正常に動きましたが、
firefoxでは動作しませんでした。色々試してみると、
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
を記述していると動作せず、記述していない場合にのみfirefoxでも
動作することが確認できました。DTDを記述した状態でもfirefoxで
ツリー式のメニューを動作させるにはどうしたらいいでしょうか。
966Name_Not_Found:2006/08/19(土) 20:52:49 ID:???
var d = document.getElementById(id).style.display;
d = (d == 'none') ? 'block' : 'none';
967965:2006/08/19(土) 21:38:52 ID:???
ありがとうございます。firefoxでも動作確認できました。
968Name_Not_Found:2006/08/20(日) 01:00:56 ID:???
実行.jsを.swfにするには、どうしたらいいですかね?
969Name_Not_Found:2006/08/20(日) 01:26:44 ID:0yCV4d5h
バナーのtitle属性をバナーの右横または下に書き出したいのですが、どういう
スクリプトを組めばいいのでしょうか?
バナーのhtmlを貼っておきます

<iframe frameborder="0" scrolling="no" allowtransparency="true"
height="14" width="110"
src="(バナーのURL)&fg=%23ffffff&bg=%23000000&ritv=45">
Unknown</iframe>
970Name_Not_Found:2006/08/20(日) 02:51:08 ID:???
>>968
ActionScript を埋め込めばいいんじゃないですかね?
Flash 板に行ってください

>>969
ドメインが同じならどうとでもなる
971Name_Not_Found:2006/08/20(日) 10:00:42 ID:???
>>969-970
逆にドメインが同じでないのでどうにもならんと見た。
972Name_Not_Found:2006/08/20(日) 17:32:49 ID:eaKP0/FM
javascriptでテキストの名前を<input type ="text" name ="A[0]">
として、javascriptでname ="A[0]"の値を拾いたいんですが
どのようにしたらよろしいでしょうか?ご教授お願いいたします。
973Name_Not_Found:2006/08/20(日) 17:48:01 ID:???
>>972
てんぷれ
974Name_Not_Found:2006/08/20(日) 18:17:35 ID:JtcFN3i4
フレームを使っていないページから、インラインフレームを使ったページを、
そのフレームに収まるページを自由に指定しながら切り替える。
ということをしたいのですが、うまくいきません。
新しい窓で開き、その後でフレームの中身を入れ替えるというのはできるのですが、
現在の窓をそのまま使って、新しいページにするのがうまくいきません。
ヒントをいただけるとありがたいのですが。
よろしくお願いいたします。
975Name_Not_Found:2006/08/20(日) 20:24:26 ID:ZN9t6GQ7
>>973
ありがとうございます
976Name_Not_Found:2006/08/20(日) 20:46:31 ID:???
>>974
前半の意味はわかったけど、
後半を日本語でよろしく。
977Name_Not_Found:2006/08/20(日) 20:48:34 ID:???
↓下の単純なプログラムで「成功」と表示させたいんですが
「ここをクリック」を押すとブラウザが止まります (Firefoxでエラーなしだけど止まる)
なんか根本的に違うような気がするんですがどうしたらいいかさっぱり分かりません

■index.html

<script type="text/javascript" src="system.js"></script>
<div id="AAA"></div>


■system.js

start();

function start(){
document.write("<a onclick='open();'>ここをクリック</a>");
}

function open (){
document.getElementById("AAA").innerHTML = "成功";
}
978Name_Not_Found:2006/08/20(日) 21:21:30 ID:???
openっていう関数名を変える
979Name_Not_Found:2006/08/20(日) 21:34:15 ID:JtcFN3i4
>>976
インラインフレームのあるページを別窓で開き、その後でそのフレームの中身を入れ替える
という作業を、javascriptをつかって1クリックだけで実行させるのは可能なんですが、
窓を増やさずにフレームの中身を指定しながらインラインフレームのあるページを
開くことができません。
(フレームの中身を変更することができません。)

と言いたかったのです。
伝わってるでしょうか?
980Name_Not_Found:2006/08/20(日) 22:18:33 ID:M48C+LLC
カーソルがウィンドウから離れた時に起こるイベントを取得するイベントハンドラってないですか?
981Name_Not_Found:2006/08/20(日) 23:33:40 ID:???
>>980
ないと思うけど。離れるとフォーカスが外れる環境(洩れのはそう)
ならonblurが使えるけどね。
>>979
そのインラインフレームのあるページにJavaScriptを仕込めるなら
どうにでもできるが、それができないと難しいね。ページが切り替わる
ときに現在のページのスクリプトは消えてしまうから。ちょっと苦しい
けど、真っ白な別窓を開きそこでスクリプトを動かして現在ページの
切替えとインラインフレーム中身の入れ換えを行わせ、終わったら
その別窓を自ら閉じる、というくらいならできるね。
>>978
start()だとかopen()だとか標準で使ってるものと衝突しそうな
名前の関数を作るなボケ!
>>977
テンプレのFAQを熟読しろボケ!
982Name_Not_Found:2006/08/20(日) 23:39:16 ID:mXKnlOfe
<INPUT type="file"> の[参照]ボタンをクリックしたときだけ
イベントを発生させたいのですが、どうすればできるでしょうか?
入力エリアをクリックした場合はイベント発生させたくないのです。
983978:2006/08/20(日) 23:43:04 ID:???
なぜ俺に…
984Name_Not_Found:2006/08/20(日) 23:46:19 ID:???
>>983
ごめん誤爆。
>>982
type="file"はセキュリティ上の理由から捕捉できないんじゃないかなー。
985982:2006/08/20(日) 23:52:08 ID:mXKnlOfe
>>984
そうですか。回答ありがとうございます。
986Name_Not_Found
979>>981
レスありがとうございます。
やりたいことは単純なのに、実現させようとすると
妙に手間がかかりそうですね。
参考にさせていただきます。
ありがとうございました。