JavaScript質問コーナー
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/10/03 12:30ID:ZbLXlHc80692nobodyさん
2005/11/20(日) 21:02:23ID:???遅レスだけど、z-indexでもだめっぽくない?
自分も前やってだめだったから、
位置的に重ならないようにして回避してしまったので
できるんであれば知りたいところです。
0693nobodyさん
2005/11/21(月) 08:00:24ID:???後はソースコード晒さないと話進まないかと。
0694nobodyさん
2005/11/22(火) 09:16:16ID:RuUWKjxHvar 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その中で同じ値が選ばれているものがあった場合はalertを出したいのですが、
どのようなものをつくればよろしいのでしょうか?
0696nobodyさん
2005/11/22(火) 14:15:14ID:???データの件数が少なかったんでDBと連携せずにPERLだけで、組んだ簡易の
データベースの中で、サーバー上の画像データの入っているフォルダー
から画像データをファイル名で引っ張っておらず、配列の番号で取得していた為
サーバー上のデータの入ったフォルダーに新たなデータを追加したり、
削除した時に順番が変わってしまってトンチンカンな画像が表示されるという
不具合が発生していて修正するのに丸2日も掛かってしまいマスタ、
根本的な部分にポカがあると痛いねやっぱり、500行以上あるプログラムのデバッグ
まじでマンドクサイ、やれやれ。このスレ人気なさそうなので、ボヤキを一言、
データの件数が少なかったんでDBと連携せずにPERLだけで、組んだ簡易の
データベースの中で、サーバー上の画像データの入っているフォルダー
から画像データをファイル名で引っ張っておらず、配列の番号で取得していた為
サーバー上のデータの入ったフォルダーに新たなデータを追加したり、
削除した時に順番が変わってしまってトンチンカンな画像が表示されるという
不具合が発生していて修正するのに丸2日も掛かってしまいマスタ、
根本的な部分にポカがあると痛いねやっぱり、500行以上あるプログラムのデバッグ
まじでマンドクサイ、やれやれ。
0697nobodyさん
2005/11/22(火) 15:44:04ID:???ブラウザ上のJavaScriptの質問はWeb制作板のJavaScript質問スレへ。
それともサーバに提出されたデータをASPで処理する時にチェックするの?
0698nobodyさん
2005/11/22(火) 16:38:02ID:MoassKSVレスありがとうございます。
>それともサーバに提出されたデータをASPで処理する時にチェックするの?
いえsubmit時にチェックさせたいと思っています。
Web制作板に行ってみます。ありがとうございます。
0699nobodyさん
2005/11/24(木) 10:28:47ID:iqR55Q21ttp://www.fromdfj.net/javascript/pulldown2.html
この二段式プルダウンを選択した後、「検索」ボタンで飛ぶように処理するには
onChangeを何に書き換えたらよろしいですか?
0702nobodyさん
2005/11/24(木) 11:53:55ID:iqR55Q21マルチっていうか、誘導されたんですけどー。
まあいいです。できましたから。
どうもお世話様でした。
0704nobodyさん
2005/11/24(木) 13:29:57ID:???http://pc7.2ch.net/test/read.cgi/pcqa/1132725475/l50 です。
こっちは暇じゃないので遊んであげられないかも知れませんが。
0707nobodyさん
2005/11/27(日) 12:16:54ID:gM49bqjRここの一番上の画像掲示板にウィンドウをポップアップさせる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:???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いま、親ウィンドウにあるボタン2を押したらこの子ウィンドウが開かれているかどうかを確認したいのです。
「開かれていない場合は開く」などという特定の処理とは違い、確認後の処理は一応任意と考えてください。
お願いします。
0713nobodyさん
2005/11/29(火) 15:15:07ID:???戦「まじで?!」
暗「やったー」
白「私マグロ^^」
侍「竜さんは?」
\ 、 m'''',ヾミ、、 /
\、_,r Y Y ' 、 /';,''
、 ,\ヽ, | | y /、 ,;;,,'',
\、\::::::::::/, /,, ;;,
ヽ\ o 、 ,o / { ;;;;;;;,,
丿 [ \|:::|/ ] >"''''' <ガリで。
>、.> U <,.<
ノ ! ! -=- ノ! ト-、
..''"L \\.".//_ | ゙` ]
0715712
2005/11/30(水) 00:05:42ID:xb2te+lS例: 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:???0720nobodyさん
2005/11/30(水) 15:08:18ID:???放置決定だな。
0721nobodyさん
2005/12/02(金) 14:38:40ID:???<input type="text"
かって判断できますでしょうか?
0722nobodyさん
2005/12/02(金) 14:59:14ID:???<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>
0724nobodyさん
2005/12/02(金) 15:45:31ID:5tbYgm8Hhistory.lengthでいくつまで履歴があるのかは取得できるようですが、
そのURLが欲しいのですが、どのようにしたらいいか分かりません。
0725nobodyさん
2005/12/02(金) 15:46:01ID:???0727nobodyさん
2005/12/02(金) 20:27:48ID:???つまり >>726 のような理由で「絶対にできない」わけだ。
もしできたら、洩れのページに見てくれたヤシの履歴記録して
エロサイト発見したら家族にバラすぞとか脅迫メール送って
小金を送金させるというJSを仕込むと大金持ちになりそうだ。
0728nobodyさん
2005/12/02(金) 22:16:19ID:???0729728
2005/12/02(金) 23:25:44ID:???<div contenteditable=true>
0730nobodyさん
2005/12/02(金) 23:26:53ID:5tbYgm8H個人情報という観点で使用できないのですね。
ありがとうございます。
>>728
多分innerHTMLやinnerTextの事だと思う。
0731nobodyさん
2005/12/02(金) 23:27:27ID:5tbYgm8H勘違いスマソ
0732nobodyさん
2005/12/04(日) 10:13:37ID:1o62MWra<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:???0734nobodyさん
2005/12/04(日) 22:04:09ID:1o62MWra0736nobodyさん
2005/12/06(火) 22:49:26ID:???ttp://hp.xrea.jp/
↑ここの、ページ左フレーム『リンク』→『ツリーメニュー』のページにある様なものです。
他にも似た様なサンプルを公開しているサイトがありますが、どれもネットスケープでは駄目な様です。
ちなみに、ブラウザの設定はデフォルトのままで、他のサンプルは正常に動作します。
0737nobodyさん
2005/12/06(火) 22:51:59ID:???0738きりす
2005/12/06(火) 23:10:22ID:avMXuOv20740nobodyさん
2005/12/07(水) 08:30:33ID:3OlvPHv6javascriptはじめたばかりのものです。よろしくおねがいします。
var a;
eval("a")="ナタデココ";
document.write(a);
としてもナタデココ と出力されないのは何故ですか
var a="ナタデココ";
var b=eval("a");
document.write(b);
は表示されるのに。eval("a")はaそのものをあらわすのではないのですか?
0741740
2005/12/07(水) 08:35:39ID:???Web製作板に飛んでゆきます
0742nobodyさん
2005/12/07(水) 08:35:49ID:???0743nobodyさん
2005/12/07(水) 08:55:11ID:3OlvPHv6つまりeval("a")とすると変数の実体が返されるんじゃなくて
値のみがコピーされて返されるというような感じでしょうか
もしそうだとしたら、文字列から変数の実体を取得できる方法ってありますか
お願いします。
0744nobodyさん
2005/12/07(水) 09:18:13ID:???たぶんできないと思う。文字列を変数への参照として使うってのはプロパティなら何とか。
var obj = new Object();
obj["a"] = "ナタデココ";
もしくは
eval("a = 'ナタデココ'");
とかかな?よーわからん。
つーか、板違いか・・・orz
0745nobodyさん
2005/12/07(水) 09:47:40ID:3OlvPHv6とりあえずeval("a = 'ナタデココ'"); でできました!
現時点ではこれで十分です。ありがとうございました!
次回からはWeb製作板逝きますです
0746nobodyさん
2005/12/07(水) 13:27:47ID:???ブラウザだったらこう
window['a'] = 'ナタデココ';
0747745
2005/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:ceGCk37eNoが選択されたら、変更前に選択されていたものに戻したい
のですが、どのようにすればよいのでしょうか?
例えば、下記の状態で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お察しの通り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>
0753752
2005/12/10(土) 17:41:03ID:???動かなくて困っています。
0754nobodyさん
2005/12/10(土) 17:42:14ID:???0755nobodyさん
2005/12/11(日) 03:38:25ID:???<!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>
0756755
2005/12/11(日) 04:01:20ID:???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>郵便番号を4桁打つと自動的に次のテキストボックスにフォーカスが
>移るという処理はできないのでしょうか?
そういうのって、最高に「よけいなお世話」仕様。最高にストレスがたまる糞インターフェース。
その場合、普通は「4桁打つ」た後、ユーザはほとんど無意識にtabを叩いている。
結果、「次」ではなく、「次の次」にフォーカスが打つって元に戻らないとならない。
同じ理由で、勝手にIMEをON/OFFするのも最低最悪な仕様。
0760752
2005/12/11(日) 16:18:38ID:???別の問題が発生しました。
window.onloadやonfocusを使ってるので、別のウィンドウ(例えば
EXCEL等)に切り替えて、再度IEを表示すると、オプションを変更
してないにもかかわらず、確認ダイアログが表示されてしまいます。
うーむ、なかなか難しいですね。
0761nobodyさん
2005/12/11(日) 16:59:42ID:???もう一個たいしたことじゃないけど問題発見。
キャンセルした後にもう一度同じの選ぶと普通にチェックされる。
0763nobodyさん
2005/12/11(日) 18:39:12ID:???クライアントのPCに保存させないようにする方法はあるのでしょうか?
対象はJavaScriptが有効になっているブラウザ(IE)のみを考えています
0764755
2005/12/11(日) 23:33:57ID:???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:???寝る前に気付いたw
scriptブロックの位置が変だね(´・ω・`)
だって752の上書きしたんだもんw
<head></head>内に収めてチョー
>>755 >>764 の
このままでは厳密にはダミなんだよ
onload以前にクリックされちゃうとハンドラしてないからね
・onloadまでCSSで見えないとかdisabledで無効にしておくとか。
・onloadで要素を動的作成するとかカナー
訂正多いってそろそろ怒られそうだ(´・ω・`)ショボーン
0767nobodyさん
2005/12/13(火) 16:48:10ID:???最初のページは我慢だがw
window.open()やshowModelessDialog()で
ツールバー等表示せず、
<body oncontextmenu="return false">
で右クリ禁止とかキャッシュ禁止も吐いてな
で一応素人さんにはOKな希ガス
0768nobodyさん
2005/12/13(火) 22:16:36ID:???これを空配列として分割する事は出来ないのでしょうか?
var dat = ",,,,,";
var sdat = dat.split(/,/);
sda[0] = "";
sda[1] = "";
sda[2] = "";
.
.
.
という結果にしたいのです。
0769nobodyさん
2005/12/13(火) 22:18:44ID:???0770nobodyさん
2005/12/13(火) 22:46:14ID:???これ実行してみ。
<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:???split(","); と split(/,/);は違うのですね(^^;。
これでは、
var dat = ",,,,,";
var dats = dat.split(/,/);
dats.length が 0 になります。
ありがとうございます。
0772nobodyさん
2005/12/13(火) 23:21:21ID:???一緒だよ!!
>>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>
0775nobodyさん
2005/12/16(金) 16:34:40ID:???onfocusイベントでつかまえるとかじゃなくて、現在のフォーカスされてるオブジェクトを探したいのです。
0776nobodyさん
2005/12/17(土) 08:51:26ID:???JavaScript質問スレ(Web製作板)の過去スレに同じ質問あったと思う。
過去スレ全集探しに行けば?
0777nobodyさん
2005/12/17(土) 09:49:45ID:???0778nobodyさん
2005/12/17(土) 23:22:06ID:???動作させたいターゲットのブラウザのリファレンスを
隅からスミまで見るこった。
全部そのブラウザでは動作するのだからw
なくてもチラ見した知識はムダにはなるまい?
0779nobodyさん
2005/12/18(日) 15:58:46ID:0OmqhgWx0781nobodyさん
2005/12/21(水) 19:59:55ID:???もしかして、関数コンストラクタといっしょ?
0782nobodyさん
2005/12/22(木) 08:50:36ID:???そんなわきゃないだろ。構文エラーがある場合、関数コンストラクタ
はその実行時点までエラー出ないがリテラルだと実行開始前に分かる
でしょ。だからできるだけリテラル使う方が吉。つか、実行時に関数
コードを組み立てるのでない限り関数コンストラクタ不要。
0783nobodyさん
2005/12/22(木) 11:43:29ID:???<input type="text" id="hoge" name="aaa" value="">
//javascript
document.getElementById("hoge").value = "hoge";
getElementByIdを使って値を入れたいのですが
どこが間違っているのでしょうか?
よろしくお願いいたします。
0784783
2005/12/22(木) 11:58:41ID:???0785nobodyさん
2005/12/23(金) 01:58:17ID:Y4oze3pa以下のようなコードを書こうと思ってます。
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:???// スルーしたい
return true;
// 本来の document.onmousedown を呼びたい
スルーだけ読んだのでこれでスルーだが…w
INPUT要素がonmousedownイベントを起こした場合
// 自分の処理 はしないって事かい?
if elseで分けるかい?w
// 本来の document.onmousedown を呼びたい
とあるが、
このイベントハンドラはそれで呼ばれているんだが…w
イベントがバブルUPして来てな。
INPUT要素個別にキャンセルしてバブルしないようにするのは面倒だからこれでいいと思うが。
つーかこれGeckoか。じゃバイバイw
0787785
2005/12/23(金) 03:34:20ID:???> // スルーしたい
> return true;
私もそれでよいのかと思ったのですが、例えば type="text" をクリックしたとき
そのエレメントにフォーカスが行かないのでそれではダメらしいのです。
(バブルアップせずにイベント処理は return 〜; で解消されてるのですかね?)
> INPUT要素がonmousedownイベントを起こした場合
> // 自分の処理 はしないって事かい?
> if elseで分けるかい?w
今やりたいのはレイヤーのドラッグ処理だけなので、
input要素がターゲットの場合は何も処理をしない方針です。
やっぱ if( e.target.type == ... ) で分岐しつつ必要な処理をするんですかね…
0788nobody
2005/12/23(金) 10:20:44ID:8U/UcGiy0789nobodyさん
2005/12/23(金) 11:07:18ID:???0790785
2005/12/23(金) 16:49:34ID:???マウスイベントを横取りするレイヤー上のスルーしたいエレメントに
onmousedown="event.cancelBubble=true"
などを定義してバブルアップをキャンセルすればよいのですね。
>>786に答えが書いてあったことに眠い頭では気が付かなかった…
thx.
■ このスレッドは過去ログ倉庫に格納されています