トップページphp
1001コメント328KB

JavaScript質問コーナー

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/10/03 12:30ID:ZbLXlHc8
立てました。
0691nobodyさん2005/11/19(土) 23:03:32ID:???
>>690
先にシングルクオートの文字列があるから文字列として連結されると思うけど。
お約束だけど、エラーの内容は?
0692nobodyさん2005/11/20(日) 21:02:23ID:???
>689
遅レスだけど、z-indexでもだめっぽくない?
自分も前やってだめだったから、
位置的に重ならないようにして回避してしまったので
できるんであれば知りたいところです。
0693nobodyさん2005/11/21(月) 08:00:24ID:???
どういう条件かよく分からないけど、とりあえずDIVタグにして、z-indexに負の値はgecko系は対応してないのでそこらへんも確認。
後はソースコード晒さないと話進まないかと。
0694nobodyさん2005/11/22(火) 09:16:16ID:RuUWKjxH
if (window.ActiveXObject){
var xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
}else if(document.implementation && document.implementation.createDocument){
var xml = document.implementation.createDocument("","",null);
}
if (xml == null) return;
xml.load(path);

operaだと xml.load(path);の所でコケてしまうのですが、どうしたらoperaでも動くように出来るのでしょうか?

message: Statement on line 268: Type mismatch (usually a non-object value used where an object is required)

オブジェクトがないと言われてもalert(xml)はオブジェクトになります。
0695nobodyさん2005/11/22(火) 14:13:39ID:MoassKSV
aspファイルの1フォーム内にて可変(3個〜10個)のコンボボックスがあり、
その中で同じ値が選ばれているものがあった場合はalertを出したいのですが、
どのようなものをつくればよろしいのでしょうか?
0696nobodyさん2005/11/22(火) 14:15:14ID:???
このスレ人気なさそうなので、ボヤキを一言、
データの件数が少なかったんでDBと連携せずにPERLだけで、組んだ簡易の
データベースの中で、サーバー上の画像データの入っているフォルダー
から画像データをファイル名で引っ張っておらず、配列の番号で取得していた為
サーバー上のデータの入ったフォルダーに新たなデータを追加したり、
削除した時に順番が変わってしまってトンチンカンな画像が表示されるという
不具合が発生していて修正するのに丸2日も掛かってしまいマスタ、
根本的な部分にポカがあると痛いねやっぱり、500行以上あるプログラムのデバッグ
まじでマンドクサイ、やれやれ。このスレ人気なさそうなので、ボヤキを一言、
データの件数が少なかったんでDBと連携せずにPERLだけで、組んだ簡易の
データベースの中で、サーバー上の画像データの入っているフォルダー
から画像データをファイル名で引っ張っておらず、配列の番号で取得していた為
サーバー上のデータの入ったフォルダーに新たなデータを追加したり、
削除した時に順番が変わってしまってトンチンカンな画像が表示されるという
不具合が発生していて修正するのに丸2日も掛かってしまいマスタ、
根本的な部分にポカがあると痛いねやっぱり、500行以上あるプログラムのデバッグ
まじでマンドクサイ、やれやれ。
0697nobodyさん2005/11/22(火) 15:44:04ID:???
>>695
ブラウザ上のJavaScriptの質問はWeb制作板のJavaScript質問スレへ。
それともサーバに提出されたデータをASPで処理する時にチェックするの?
0698nobodyさん2005/11/22(火) 16:38:02ID:MoassKSV
>>697
レスありがとうございます。
>それともサーバに提出されたデータをASPで処理する時にチェックするの?
いえsubmit時にチェックさせたいと思っています。
Web制作板に行ってみます。ありがとうございます。

0699nobodyさん2005/11/24(木) 10:28:47ID:iqR55Q21
こちらのサイトを参考に二段式プルダウンメニューを作成しているのですが
ttp://www.fromdfj.net/javascript/pulldown2.html
この二段式プルダウンを選択した後、「検索」ボタンで飛ぶように処理するには
onChangeを何に書き換えたらよろしいですか?
0700nobodyさん2005/11/24(木) 10:54:00ID:???
>>699
隣の人がマルチウザって言ってます
0701nobodyさん2005/11/24(木) 10:57:46ID:???
>>699
サンプル3の「左を先に選択して下さい。」を
「右を先に選択して下さい。」にする。
0702nobodyさん2005/11/24(木) 11:53:55ID:iqR55Q21
>>700
マルチっていうか、誘導されたんですけどー。
まあいいです。できましたから。
どうもお世話様でした。
0703nobodyさん2005/11/24(木) 11:58:24ID:???
>>702
どこから来た?
暇だから遊んでよ。
0704nobodyさん2005/11/24(木) 13:29:57ID:???
>>703
http://pc7.2ch.net/test/read.cgi/pcqa/1132725475/l50 です。
こっちは暇じゃないので遊んであげられないかも知れませんが。
0705nobodyさん2005/11/24(木) 13:44:07ID:???
>>704
それじゃ遊べなかった
0706nobodyさん2005/11/24(木) 13:49:08ID:???
>>705
乙彼様です。
0707nobodyさん2005/11/27(日) 12:16:54ID:gM49bqjR
http://siokara.que.jp/index.html
ここの一番上の画像掲示板にウィンドウをポップアップさせるJavaを追加したいのですが
うまくいきません。どのようにタグを書けばうまくいくのかご教授してください。。

ちなみにタグはこのように記述しました。。
<SCRIPT language=JavaScript>
<!--

window.open('http://xxx/');

var isOnAnchor = false;
function anchorMouseOver() {
isOnAnchor = true;
}
function anchorMouseOut() {
isOnAnchor = false;
}
function ini() {
for (i = 0; i < document.links.length; i++) {
document.links[i].onmouseover = anchorMouseOver;
document.links[i].onmouseout = anchorMouseOut;
}
}
function test() {
if (!isOnAnchor)
window.open('http://xxx/');
}

// -->
</SCRIPT>
0708nobodyさん2005/11/28(月) 08:00:14ID:???
Java?
0709nobodyさん2005/11/28(月) 16:58:18ID:???
タグ?
0710nobodyさん2005/11/28(月) 16:59:17ID:???
タグは食べられますか?
0711nobodyさん2005/11/28(月) 17:40:08ID:???
いいえ、食べることはできません。
0712nobodyさん2005/11/29(火) 14:00:10ID:C21oS0u7
親ウィンドウにあるボタン1から子ウィンドウを開くことができます(開かれる可能性のある子ウィンドウはこの一つだけです)。
いま、親ウィンドウにあるボタン2を押したらこの子ウィンドウが開かれているかどうかを確認したいのです。
「開かれていない場合は開く」などという特定の処理とは違い、確認後の処理は一応任意と考えてください。

お願いします。
0713nobodyさん2005/11/29(火) 15:15:07ID:???
侍「寿司おごるよ」
戦「まじで?!」
暗「やったー」
白「私マグロ^^」
侍「竜さんは?」

\     、 m'''',ヾミ、、 /
  \、_,r Y  Y ' 、 /';,''
  、 ,\ヽ, | | y /、 ,;;,,'',
   \、\::::::::::/, /,, ;;,
   ヽ\ o 、 ,o / { ;;;;;;;,,
   丿 [ \|:::|/ ]  >"'''''    <ガリで。
   >、.>  U   <,.<
  ノ  ! ! -=- ノ!  ト-、
..''"L  \\.".//_ |   ゙` ]
0714nobodyさん2005/11/29(火) 22:17:26ID:???
>>712
closed
07157122005/11/30(水) 00:05:42ID:xb2te+lS
そういうbuilt-in関数はそもそもJavaScriptには用意されていないからネット上で見つかるものを借りてやったんですが

例: allabout.co.jp/career/javascript/closeup/CU20020808/

エラーになります。

ブラウザやデバガにより「変数 targetName は定義されていません」や「定義されていない変数 targetName を使用できません」など。

恐らく、window.openではじめて定義されるtargetNameを物理的順番として先に引数として使ってるからだと思いますが。

実際使えないわけです。
適当に思いつきや検索結果を書くのではなく、一応検証込みでお願いします。
0716nobodyさん2005/11/30(水) 08:19:28ID:???
関数じゃないぞ
0717nobodyさん2005/11/30(水) 11:01:20ID:???
最後の一行で泣いた
0718nobodyさん2005/11/30(水) 11:06:25ID:???
最後の一行は AllAbout に言ってるんだよ、きっと…多分……
0719nobodyさん2005/11/30(水) 12:13:14ID:???
>>715
そのページが動かんということ?
0720nobodyさん2005/11/30(水) 15:08:18ID:???
偉そうな奴だな。板違いだと指摘してやる奴もいないようだし。
放置決定だな。
0721nobodyさん2005/12/02(金) 14:38:40ID:???
エレメントが<input type="hidden"か
<input type="text"
かって判断できますでしょうか?

0722nobodyさん2005/12/02(金) 14:59:14ID:???
>>721
<html>
<head>
<script language="javascript"><!--
function checkers(former) {
// texterをtextかhiddenかチェック
if (former.texter.type=="text")
window.alert ('texterはテキスト');
if (former.texter.type=="hidden")
window.alert ('texterはヒドゥン');

// hiddenerをtextかhiddenかチェック
if (former.hiddener.type=="text")
window.alert ('hiddenerはテキスト');
if (former.hiddener.type=="hidden")
window.alert ('hiddenerはヒドゥン');
}
// --></script>
</head>
<body>
<form name="former">
<input type="text" name="texter">
<input type="hidden" name="hiddener">
<input type="button" value="テスト" onClick="javascript:checkers(former);">
</form>
</body>
</html>
0723nobodyさん2005/12/02(金) 15:19:40ID:???
>>772
とんくす。しかも親切。
0724nobodyさん2005/12/02(金) 15:45:31ID:5tbYgm8H
history(履歴)のURLを文字列として取得できませんか?
history.lengthでいくつまで履歴があるのかは取得できるようですが、
そのURLが欲しいのですが、どのようにしたらいいか分かりません。
0725nobodyさん2005/12/02(金) 15:46:01ID:???
そうですか。
0726nobodyさん2005/12/02(金) 17:42:28ID:???
>>724
それが分かると、過去にどんなページを見てきたか知ることが出来るね。
0727nobodyさん2005/12/02(金) 20:27:48ID:???
>>724
つまり >>726 のような理由で「絶対にできない」わけだ。
もしできたら、洩れのページに見てくれたヤシの履歴記録して
エロサイト発見したら家族にバラすぞとか脅迫メール送って
小金を送金させるというJSを仕込むと大金持ちになりそうだ。
0728nobodyさん2005/12/02(金) 22:16:19ID:???
<div>の中身(文)を編集可能にすることはできますか?
07297282005/12/02(金) 23:25:44ID:???
タグの属性でありました。

<div contenteditable=true>
0730nobodyさん2005/12/02(金) 23:26:53ID:5tbYgm8H
>>726-727
個人情報という観点で使用できないのですね。
ありがとうございます。

>>728
多分innerHTMLやinnerTextの事だと思う。
0731nobodyさん2005/12/02(金) 23:27:27ID:5tbYgm8H
そういう意味か…
勘違いスマソ
0732nobodyさん2005/12/04(日) 10:13:37ID:1o62MWra
<html lang="ja">
<head>
<script language="javascript"> <!--
function URLCheck() {
    alert (parent.frame1.location.href);
}
// -->
</script>
</head>
<body>
    <iframe src="http://www.google.co.jp/" name="frame1" width="100%" height="200"></iframe>
    <input type="button" value="Check" onClick="URLCheck();">
</body>
</html>

というHTMLファイルをローカルに作成した時に
 alert (parent.frame1.location.href);
が書き込みできませんというエラーが表示され、URLを確認できません。

どのようにしたら外部のHPをフレーム内に表示した時にURLを取得できるのでしょうか?
0733nobodyさん2005/12/04(日) 22:02:02ID:???
web製作が本スレなのか
0734nobodyさん2005/12/04(日) 22:04:09ID:1o62MWra
>>732の質問は取り消します。
0735nobodyさん2005/12/05(月) 00:09:51ID:???
>>733
何言ってるんだ。板のローカルルールを読んでないのか。
0736nobodyさん2005/12/06(火) 22:49:26ID:???
JavaScriptで作成したツリーメニューがネットスケープで正常に動作しない様なのですが、何故でしょうか?
ttp://hp.xrea.jp/
↑ここの、ページ左フレーム『リンク』→『ツリーメニュー』のページにある様なものです。
他にも似た様なサンプルを公開しているサイトがありますが、どれもネットスケープでは駄目な様です。
ちなみに、ブラウザの設定はデフォルトのままで、他のサンプルは正常に動作します。
0737nobodyさん2005/12/06(火) 22:51:59ID:???
ぼくはくま太陽!
0738きりす2005/12/06(火) 23:10:22ID:avMXuOv2
YES
0739nobodyさん2005/12/07(水) 03:25:59ID:???
>>736
all → getElementById に置き換え
0740nobodyさん2005/12/07(水) 08:30:33ID:3OlvPHv6
親切な方に誘導されてホイホイきました
javascriptはじめたばかりのものです。よろしくおねがいします。

var a;

eval("a")="ナタデココ";

document.write(a);


としてもナタデココ と出力されないのは何故ですか

var a="ナタデココ";

var b=eval("a");

document.write(b);

は表示されるのに。eval("a")はaそのものをあらわすのではないのですか?
07417402005/12/07(水) 08:35:39ID:???
すいません
Web製作板に飛んでゆきます
0742nobodyさん2005/12/07(水) 08:35:49ID:???
eval("a")は"a"をevaluateしたもの(=値として評価したもの)だから。
0743nobodyさん2005/12/07(水) 08:55:11ID:3OlvPHv6
>>742 すいませn。答えていただいてしまて。ここで質問させてください

つまりeval("a")とすると変数の実体が返されるんじゃなくて
値のみがコピーされて返されるというような感じでしょうか
もしそうだとしたら、文字列から変数の実体を取得できる方法ってありますか
お願いします。
0744nobodyさん2005/12/07(水) 09:18:13ID:???
>>743
たぶんできないと思う。文字列を変数への参照として使うってのはプロパティなら何とか。
var obj = new Object();
obj["a"] = "ナタデココ";

もしくは
eval("a = 'ナタデココ'");
とかかな?よーわからん。
つーか、板違いか・・・orz
0745nobodyさん2005/12/07(水) 09:47:40ID:3OlvPHv6
>>742さん >>744さん(同じ人??)

とりあえずeval("a = 'ナタデココ'"); でできました!
現時点ではこれで十分です。ありがとうございました!
次回からはWeb製作板逝きますです
0746nobodyさん2005/12/07(水) 13:27:47ID:???
環境によって違うけど大域オブジェクトから参照するとか
ブラウザだったらこう

window['a'] = 'ナタデココ';
07477452005/12/07(水) 15:46:13ID:???
わかりました
試して見ます
皆さん(同じ人??)ありがとうございました
0748nobodyさん2005/12/08(木) 09:35:31ID:???
背景印刷の制御に関して教えてください。

IEのデフォルトだと、HTMLの背景は印刷されませんよね。
インターネットオプション→詳細設定→印刷□背景の色とイメージを印刷する
これにチェックを入れれば可能ですが、この設定を一時的にJava-scriptで制御できないものでしょうか?

具体的には、印刷設定はデフォルトのまま背景は印刷されない状態で、印刷したいページにjava-scriptで「印刷」ボタンを設置。
それを経由して印刷する場合には一時的に背景印刷されるようにする。
…という感じで。

0749nobodyさん2005/12/08(木) 21:09:20ID:???
無理
0750nobodyさん2005/12/10(土) 15:57:08ID:ceGCk37e
オプションボタンが変更されたときに確認ダイアログを出し、
Noが選択されたら、変更前に選択されていたものに戻したい
のですが、どのようにすればよいのでしょうか?

例えば、下記の状態でCをクリックした場合に確認ダイアログを
出して、Noが選択されたら、Aに戻したいです。

 ◎A  ○B  ○C
0751nobodyさん2005/12/10(土) 16:42:46ID:???
オプションボタンは何のこと?
<input type="radio"> かいな?
type="checkbox" かいな?

VBのコンロトールかと思ったw
VB使いはHTML覚え始めは混同しなかったかい?
しないねw

HTMLをまず晒してみ?
0752nobodyさん2005/12/10(土) 17:39:30ID:ceGCk37e
>>751
お察しの通りradioのことです。
VBあがりなプログラマーなもので。
ソースは以下の通りです。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE></TITLE>
<META http-equiv=Content-Type content="text/html; charset=shift_jis">
<BODY>
<SCRIPT language=JavaScript>
function check(radio) {
if(confirm('確認ダイアログ')){
return True;
}else{
return False;
}
}
</SCRIPT>

<FORM method=post name="myFORM">
<INPUT onmousedown=check(this) type=radio CHECKED value="A" name"=RadioBtn">A 
<INPUT onmousedown=check(this) type=radio value="B" name="RadioBtn">B 
<INPUT onmousedown=check(this) type=radio value="C" name="RadioBtn">C
</FORM>
</BODY>
</HTML>
07537522005/12/10(土) 17:41:03ID:???
現時点では確認ダイアログでの選択にかかわらず、radioボタンが
動かなくて困っています。
0754nobodyさん2005/12/10(土) 17:42:14ID:???
板違いスレなんだから控えめにやれ
0755nobodyさん2005/12/11(日) 03:38:25ID:???
怒られちゃった(´・ω・`)控え目に…w
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE></TITLE>
<META http-equiv=Content-Type content="text/html; charset=shift_jis">
<BODY>
<script type="text/javascript">
window.onload=function(){
var flag=Boolean(document.uniqueID)
var Col_Radio=document.getElementById("ElmSPAN").getElementsByTagName("INPUT");
for (var i=0;i<Col_Radio.length;i++){
if (flag){Col_Radio[i].onfocus=check;}else{Col_Radio[i].onclick=check;}
}}
function check() {
if(confirm('確認ダイアログ')){
this.checked=true;return true;
}else{return false;} }
</script>
<FORM method="post" name="myFORM">
<span id="ElmSPAN">
<INPUT type="radio" CHECKED value="A" name="RadioBtn">A 
<INPUT type="radio" value="B" name="RadioBtn">B 
<INPUT type="radio" value="C" name="RadioBtn">C
</span>
</FORM>
</BODY></HTML>
07567552005/12/11(日) 04:01:20ID:???
怒られちゃうから(´・ω・`)小さくね…w

FF_GeckoとIE_MSHTMLでradioのチェックタイミングが噛み合わなかったんで
イベントを分けてハンドラしたのでwindow.onloadで…

FF
 onclickイベントでキャセルすると元に戻る。

IE
 onclickキャンセルではダメ。しかしonclick以外のonmouseup/down,onfocus等で
 自らチェック動作を書いてやれば同等な事ができる。

どれでも通用しそうな手は前にチェックしてあった要素を記憶しておくこと。
おっとVB系と違いJSのBoolean値の定数は true/false 小文字だけネー
0757nobodyさん2005/12/11(日) 14:10:36ID:Rppt4XMT
>>101

>郵便番号を4桁打つと自動的に次のテキストボックスにフォーカスが
>移るという処理はできないのでしょうか?

そういうのって、最高に「よけいなお世話」仕様。最高にストレスがたまる糞インターフェース。
その場合、普通は「4桁打つ」た後、ユーザはほとんど無意識にtabを叩いている。
結果、「次」ではなく、「次の次」にフォーカスが打つって元に戻らないとならない。
同じ理由で、勝手にIMEをON/OFFするのも最低最悪な仕様。

07587522005/12/11(日) 15:10:28ID:???
>>755
神!
とても勉強になります。
ありがとうございました。
IEよりFFの方が素直な気がしますね。
0759nobodyさん2005/12/11(日) 16:02:32ID:???
>>758
>>755はOpera8.5じゃ動かんぞ。いいのか?
07607522005/12/11(日) 16:18:38ID:???
とりあえずIEで動けばいいのでOperaで動かなくてもよいのですが、
別の問題が発生しました。
window.onloadやonfocusを使ってるので、別のウィンドウ(例えば
EXCEL等)に切り替えて、再度IEを表示すると、オプションを変更
してないにもかかわらず、確認ダイアログが表示されてしまいます。
うーむ、なかなか難しいですね。
0761nobodyさん2005/12/11(日) 16:59:42ID:???
俺Opera(´・ω・`)ショボーン

もう一個たいしたことじゃないけど問題発見。
キャンセルした後にもう一度同じの選ぶと普通にチェックされる。
0762nobodyさん2005/12/11(日) 18:31:55ID:???
>>757
ユーザによるね
0763nobodyさん2005/12/11(日) 18:39:12ID:???
イントラネット内で、servletやjspを使って動的にサーバで作成されたwebページを、クライアント側からブラウザの「名前を付けて保存」機能などを無効にして、
クライアントのPCに保存させないようにする方法はあるのでしょうか?
対象はJavaScriptが有効になっているブラウザ(IE)のみを考えています
07647552005/12/11(日) 23:33:57ID:???
>>758-761 (´・ω・`)ヒントだったのごめんネー
Operaも確認しよーかなーと思ってメンドかったw
Geckoだけ確認してそれ以外はIEと共用でonmousedownにしてみたよ。
ついでに余計なお世話で… >>752 インラインでイベント管理する時はreturnつけようね。
例:<INPUT onmousedown="return check(this)" name="RadioBtn">

(´・ω・`)以下は差し替えてネーでもあくまでサンプルだよって言っておくw
<script type="text/javascript">
window.onload=function(){
var IsGecko=Boolean(String(window.navigator.userAgent).indexOf("Gecko")!=-1)
var Col_Radio=document.getElementById("ElmSPAN").getElementsByTagName("INPUT");
for (var i=0;i<Col_Radio.length;i++){
if (IsGecko){Col_Radio[i].onclick=check;}else{Col_Radio[i].onmousedown=check;}
}}
function check() {
if(confirm('確認ダイアログ')){
this.checked=true
return true;
}else{return false;}
}
</script>
0765nobodyさん2005/12/12(月) 01:16:54ID:???
>>755
寝る前に気付いたw
scriptブロックの位置が変だね(´・ω・`)
だって752の上書きしたんだもんw
<head></head>内に収めてチョー
>>755 >>764
このままでは厳密にはダミなんだよ
onload以前にクリックされちゃうとハンドラしてないからね

・onloadまでCSSで見えないとかdisabledで無効にしておくとか。
・onloadで要素を動的作成するとかカナー

訂正多いってそろそろ怒られそうだ(´・ω・`)ショボーン
0766nobodyさん2005/12/12(月) 07:30:21ID:???
>>763
無駄な努力
0767nobodyさん2005/12/13(火) 16:48:10ID:???
>>763
最初のページは我慢だがw
window.open()やshowModelessDialog()で
ツールバー等表示せず、
<body oncontextmenu="return false">
で右クリ禁止とかキャッシュ禁止も吐いてな
で一応素人さんにはOKな希ガス
0768nobodyさん2005/12/13(火) 22:16:36ID:???
JavaScriptでは以下のような場合に空の分割データが配列に入らないようなのですが、
これを空配列として分割する事は出来ないのでしょうか?

var dat = ",,,,,";
var sdat = dat.split(/,/);

sda[0] = "";
sda[1] = "";
sda[2] = "";
.
.
.

という結果にしたいのです。
0769nobodyさん2005/12/13(火) 22:18:44ID:???
split(",");
0770nobodyさん2005/12/13(火) 22:46:14ID:???
>>768
これ実行してみ。
<html><head>
<script type="text/javascript">
function test(){
var dat = ",,,,,";
var dats = dat.split(/,/);
for( i = 0 ; i < dats.length ; i++){
if(dats[i] == ""){
alert(dats[i] + i);
}else{
alert("ちがう");
}
}
}
</script>
</head><body>
<input type="button" value="run" onclick="test()">
</body></html>
0771nobodyさん2005/12/13(火) 23:05:58ID:???
>>769-770
split(","); と split(/,/);は違うのですね(^^;。

これでは、
var dat = ",,,,,";
var dats = dat.split(/,/);
dats.length が 0 になります。


ありがとうございます。
0772nobodyさん2005/12/13(火) 23:21:21ID:???
>>771
一緒だよ!!
>>770実行した?
↓これも実行してみ
<html><head>
<script type="text/javascript">
function test(){
var dat = ",,,,,";
var dats = dat.split(/,/);
alert(dats.length);
}
</script>
</head><body>
<input type="button" value="run" onclick="test()">
</body></html>
07737722005/12/13(火) 23:23:52ID:???
>>771
ごめん!!
IEではだめだったorz
0774nobodyさん2005/12/13(火) 23:33:44ID:???
>>773
いえいえ^^
ブラウザで仕様が異なるのは面倒ですよね
0775nobodyさん2005/12/16(金) 16:34:40ID:???
ウインドウの中で、いまどのボタンやリンクにフォーカスがあたっているかって調べる方法ありますかね?
onfocusイベントでつかまえるとかじゃなくて、現在のフォーカスされてるオブジェクトを探したいのです。

0776nobodyさん2005/12/17(土) 08:51:26ID:???
>>775
JavaScript質問スレ(Web製作板)の過去スレに同じ質問あったと思う。
過去スレ全集探しに行けば?
0777nobodyさん2005/12/17(土) 09:49:45ID:???
777get, zuzaa
0778nobodyさん2005/12/17(土) 23:22:06ID:???
過去スレ見てもなーw
動作させたいターゲットのブラウザのリファレンスを
隅からスミまで見るこった。
全部そのブラウザでは動作するのだからw
なくてもチラ見した知識はムダにはなるまい?
0779nobodyさん2005/12/18(日) 15:58:46ID:0OmqhgWx
画面のハードコピーをとるJavaScriptは何ですか?
0780nobodyさん2005/12/18(日) 23:41:39ID:???
>>779
そんなものはない。
あったとしてもJScript。
間違えてもJavaScriptじゃ無理。
0781nobodyさん2005/12/21(水) 19:59:55ID:???
関数リテラルってどのタイミングでコンパイルされるんでしょうか?
もしかして、関数コンストラクタといっしょ?
0782nobodyさん2005/12/22(木) 08:50:36ID:???
>>781
そんなわきゃないだろ。構文エラーがある場合、関数コンストラクタ
はその実行時点までエラー出ないがリテラルだと実行開始前に分かる
でしょ。だからできるだけリテラル使う方が吉。つか、実行時に関数
コードを組み立てるのでない限り関数コンストラクタ不要。
0783nobodyさん2005/12/22(木) 11:43:29ID:???
テキストボックスに値を入れたいのですがうまくいきません。

<input type="text" id="hoge" name="aaa" value="">


//javascript
document.getElementById("hoge").value = "hoge";

getElementByIdを使って値を入れたいのですが
どこが間違っているのでしょうか?
よろしくお願いいたします。
07847832005/12/22(木) 11:58:41ID:???
なぜかできるようになりました。
0785nobodyさん2005/12/23(金) 01:58:17ID:Y4oze3pa
input要素以外へのマウスクリックイベントをトラップするために、
以下のようなコードを書こうと思ってます。

document.onmousedown = myMousedown;
function myMousedown(e){
  if( e.target.tagName == 'INPUT' ){
    // スルーしたい
    // 本来の document.onmousedown を呼びたい
  }
  // 自分の処理
}

しかし「// スルーしたい」の部分をどう書いたらよいか分かりません。
#document.onmousedown(e)とすると、当然 too much recursion となります…orz

なぜこのようなコードが必要かというと、ドラッグ可能なレイヤー上に
フォームエレメントを置きたいのですが、ドラッグするためのコードが
フォームエレメントへのフォーカスを奪ってしまうのでうまくいかないのです…
どなたか詳しい方教えて下さい。
0786nobodyさん2005/12/23(金) 02:38:36ID:???
>>785
    // スルーしたい
return true;
    // 本来の document.onmousedown を呼びたい


スルーだけ読んだのでこれでスルーだが…w
INPUT要素がonmousedownイベントを起こした場合
// 自分の処理 はしないって事かい?
if elseで分けるかい?w

// 本来の document.onmousedown を呼びたい
とあるが、
このイベントハンドラはそれで呼ばれているんだが…w
イベントがバブルUPして来てな。
INPUT要素個別にキャンセルしてバブルしないようにするのは面倒だからこれでいいと思うが。

つーかこれGeckoか。じゃバイバイw
07877852005/12/23(金) 03:34:20ID:???
>>786
>  // スルーしたい
>  return true;

私もそれでよいのかと思ったのですが、例えば type="text" をクリックしたとき
そのエレメントにフォーカスが行かないのでそれではダメらしいのです。
(バブルアップせずにイベント処理は return 〜; で解消されてるのですかね?)

> INPUT要素がonmousedownイベントを起こした場合
> // 自分の処理 はしないって事かい?
> if elseで分けるかい?w

今やりたいのはレイヤーのドラッグ処理だけなので、
input要素がターゲットの場合は何も処理をしない方針です。

やっぱ if( e.target.type == ... ) で分岐しつつ必要な処理をするんですかね…
0788nobody2005/12/23(金) 10:20:44ID:8U/UcGiy
javascriptでpostで送信したデータってどうやって受信するのですか?
0789nobodyさん2005/12/23(金) 11:07:18ID:???
CGIで
07907852005/12/23(金) 16:49:34ID:???
解決。

マウスイベントを横取りするレイヤー上のスルーしたいエレメントに
  onmousedown="event.cancelBubble=true"
などを定義してバブルアップをキャンセルすればよいのですね。

>>786に答えが書いてあったことに眠い頭では気が付かなかった…
thx.
■ このスレッドは過去ログ倉庫に格納されています