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

JavaScript質問コーナー

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/10/03 12:30ID:ZbLXlHc8
立てました。
0667nobodyさん2005/11/10(木) 15:36:08ID:???
/^[^ABC].*/
0668nobodyさん2005/11/10(木) 18:50:58ID:7Q/BiD4z
ASPファイル内でリストボックスを作成し、JavaScriptで
▲上ボタンと▼下ボタンを配置して
リストボックス内の表示順を変更するところまで作りました。
最終的にはこの変更された並び順をDBに保存
したいと思っております。
考えているのは例えば、[▲上」ボタンが押された時は
OPTION VALUEの値を1引き算してセットできないかと
考えているのですが、可能でしょうか?
OPTION VALUEの値は例えば、ボックス内にリストが5つあると
(11,12,13,14,15)のようになっています。
どうぞよろしくお願い致します。
06696682005/11/10(木) 18:52:31ID:7Q/BiD4z
//▲上へ
function UpButton(){
var listn
var naiyo
with (document.thisAspFile){
listn = ListBox.selectedIndex;
naiyo = ListBox.options[listn].text;
if(listn > 0){
ListBox.options[listn].text = ListBox.options[listn-1].text;
ListBox.options[listn-1].text = naiyo;
ListBox.options[listn-1].selected = true;
}
}
}
//▼下へ
function DownButton(){
var listn
var naiyo
with (document.thisAspFile){
listn = ListBox.selectedIndex;
naiyo = ListBox.options[listn].text;
if(listn < ListBox.length-1){
ListBox.options[listn].text = ListBox.options[listn+1].text;
ListBox.options[listn+1].text = naiyo;
ListBox.options[listn+1].selected = true;
}
}
}
0670nobodyさん2005/11/10(木) 19:42:34ID:???
>>665
いいたかったのは、既に移植をしたことのある人がJavaScriptへの移植を行えないのかということです。
こっそり移植を進めていたけれど、知らない公式を追うだけでお腹いっぱいで、頓挫しました。
一度作った人ならすぐできるんじゃないかということです。
0671nobodyさん2005/11/10(木) 19:45:40ID:???
>>668
保存する際にoptionsの情報を0から最後まで取得していけばいいだけな希ガス。
0672nobodyさん2005/11/11(金) 12:12:02ID:???
>>666
http://pc8.2ch.net/test/read.cgi/php/1105930285/
それと667はたぶんあなたが求めてるのと違う。
06736682005/11/11(金) 21:46:08ID:CsKh1TLX
ASPファイル内でのJavaScriptなのですが、onClick時にリストボックスをすべて
選択するにはどのような感じにすればよろしいのでしょうか?
リストボックスはmultiple="multiple"になっています。
よろしくお願い致します。
0674nobodyさん2005/11/11(金) 21:59:51ID:???
ASPだろうがなんだろうが、正しいHTMLを吐いていないとJavaScriptは動かない。
何をしたいかちゃんと書かないと答え様が無い。
ちなみに、「全て選択」というチェックボックス作れば楽に解決だと思うのだが、リストボックスに変化を与えないといけない理由を書いてくれ。
06756682005/11/11(金) 22:15:57ID:CsKh1TLX
>>674
すいません。確かに情報不足でした。
処理の内容としてはリストボックスの内の表示順を並べ替えるJavaScriptをつくりました。
その並び替えた順番をDBに保存したいと思い、onClick(Submit)時にすべてをSelectedしたいと
思ったのですが。(Selectedされていないと値を取得できない状態になっているので)
という内容なのですがよろしくお願い致します。

0676nobodyさん2005/11/11(金) 22:32:22ID:???
>Selectedされていないと値を取得できない状態になっているので
まず、これが違う。
選択されているかどうかを送信先で判断するならそのとおりだけど、送信前に段階を踏ませるなら、selectedIndexで参照できる。
06776682005/11/11(金) 23:50:15ID:CsKh1TLX
レスありがとうございます。
>>選択されているかどうかを送信先で判断するならそのとおりだけど、送信前に段階を踏ませるなら、selectedIndexで参照できる。
確かにおっしゃるとおりだと思うのですが、テストですべてセレクトした上でSubmitすると
うまく書き込みができる状態なのでSubmit前にすべてをSelectするプログラムのほうが
楽かなと思ってしまいました。
0678nobodyさん2005/11/11(金) 23:55:31ID:???
>>677
他を見直した方がいいと思う。

これで選択できるけど。
options[i].selected = true;
0679nobodyさん2005/11/12(土) 00:11:25ID:???
結局は作る人のやりたい方法を取ればいい話なんだけど、個人的にはこうする。
参考になれば。

選択するものをボタンで表示する。
クリックした順番をinnerHTMLで表示しつつ、クリックしたボタンをdisabledにする。
送信時にinnerHTMLの値をセットして送信させる。

「選択するからセレクトボックス」にこだわっているように見えるけど、順番が必要ということなら選択が1度きりに出来る方法を選んだほうがいいと思う。
0680nobodyさん2005/11/12(土) 05:25:12ID:???
オレモ個人的方法を1つw
スクリプト動作が保証されてる前提で
全部セレクト状態でなくても、とにかく並び状態を送信したいんだから
送信決定時に、<INPUT type="hideen" name="">にでも
optionsから読みとった順序データをぶっこんで送る、
とか。
ま、送信決定時に全セレクト状態でもいいがw

06816682005/11/12(土) 11:21:42ID:3jVfmkJo
皆さん、いろいろとご意見ありがとうございます。
とりあえず、options[i].selected = trueでやらせていただき、
時間がある時に見直していきたいと思います。
まだ、勉強を始めたばかりで簡単な修正でもかなり時間が掛かるものですから。。。
ありがとうございました。
0682nobodyさん2005/11/12(土) 21:14:41ID:???

質問おねがいします。

マッピングのリンクでウィンドウのポップアップしたいんですが、
<map name="Map">
<area shape="rect" coords="39,41,160,65" href="hoge" target="_blank">


hogeのとこに 

function OpenWin(){
win=window.open("test.html","new","width=100,height=100");
}

のOpenWin()をいれても動作せず。。。なんです。

どなたか解決方法教えてくらはい 泣

宜しくお願いいたします。




0683nobodyさん2005/11/12(土) 21:36:42ID:???
つ javascript:hoge();
06846822005/11/12(土) 22:10:14ID:???
>>683

ごめんさい。間違えました。

javascript:hoge(); って書いたけど動かなかったとです。。
0685nobodyさん2005/11/12(土) 22:56:07ID:???
我々は貴方が提出した限られた情報から原因を推測できるエスパーではありません。
0686nobodyさん2005/11/12(土) 23:09:20ID:???
>>684
なんかえらー出てるだろ
0687nobodyさん2005/11/14(月) 11:53:42ID:DdnLVrUh
mod_javascript相当のものをやっと見つけた。
RhinoとApache+mod_gcjで動くらしい。
http://d.hatena.ne.jp/brazil/20050904/1125845642

  function handle(req, res) {
  res.setContentType("text/html");
  res.writer.write("<html><body>hello world!;</body></html>");
  }

こういうファイルを、test.xjs みたいな名前でApacheのDocumentRoot以下に
置くと、Hello, world できるらしい。
include();関数があるから、Jamritas.Templateを使えばテンプレートの展開
もできそうだ。

0688nobodyさん2005/11/14(月) 16:07:00ID:???
<SPAN style='position:absolute'>にinnerHTMLで動的にテーブルを表示し、
ポジションを変更してコンボボックスの上に持ってきたときに
コンボボックスの方がSPANよりも上位に表示されてしまうのですが
コンボボックスをSPANの下に隠してしまうことって出来ないのでしょうか?
0689nobodyさん2005/11/14(月) 16:29:16ID:???
つ z-index
0690nobodyさん2005/11/19(土) 14:09:21ID:8F1vnmgN
t = new Date();
url = './log.cgi?' + t.getTime();

こういう風にするとエラーになってしまうのですが+ t.getTime();とすると問題があるのでしょうか?
文字列と数値を連結しようとしている事が問題なのかとも想うのですが、javascriptで数値を文字列
に変換するにはどうしたら良いのでしょうか?
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
無駄な努力
■ このスレッドは過去ログ倉庫に格納されています