下記はテキストボックスをクリックするとCalendarのポップアップが出る仕組みなのですが、
<FORM name="main">
<INPUT TYPE="TEXT" NAME="Field" SIZE="12" onFocus="Calendar(this)">
</FORM>

これを
<INPUT TYPE="button" VALUE="カレンダー" onClick="Calendar(this)">
のようにボタンをクリックするとポップアップさせたいのですが、こうするとblankのポップアップになってしまいます。

#(this)の使い方もよくわからない素人です。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

<INPUT TYPE="TEXT" NAME="Field" SIZE="12" onFocus="Calendar(this)">


<INPUT TYPE="button" VALUE="カレンダー" onClick="Calendar(this)">
↑ NAME="Field" が送信されていないのが原因だと思われます。

function Calender の内容が理解出来るのでしたら、

Calendar(this,Field);
という形で、
NAME も送信して、

function Calender(this受信元,NAME)
という形で受信し、
もう一度確認してみてはどうでしょう?
    • good
    • 0

ここを参考にしたらどうですか。



とほほのWWW入門 http://tohoho.wakusei.ne.jp/www.htm
Thisの解説 http://tohoho.wakusei.ne.jp/wwwjssta.htm#this

参考URL:http://tohoho.wakusei.ne.jp/www.htm
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q

<input type="hidden" name = "hoge">があったとします。
これを、javascriptを使用し nameで検索します。
”hoge”を検索後、その”hoge”という名前を変更する方法を探しています。 

<input type="hidden" name = "hoge">
       ↓↓↓↓↓
<input type="hidden" name = "fuga"> 

リフレッシュ無しで、上記のようにnameを変える方法が知りたいです。

ご存知の方おりましたら、お手数ですが教えていただけませんでしょうか。
宜しくお願いいたします。

Aベストアンサー

タグが特定出来れば、setAttribute等で属性値を変更出来ます。
setAttribute("name","fuga")

Qで、Q1に後で値を設定して表示するには

お世話になります。
<input type="text" name="Q1">で、Q1に後で値を設定して表示するにはどうしたら良いものでしょうか。
name="Q1"
と、しているので、
onMousedown="function()"
で、nameでしてしたエリアに値を書き込めば、できると思うのですが、
このfunction()をどのように書いたらよいものか、いろいろ調べてもわかりません。
何とかご教示願えないでしょうか。
よろしくお願いします。

Aベストアンサー

javascriptを利用することで出来ます。
こんな感じで動くでしょう。
ちなみにテキストボックスなどをjavascriptで操作する場合は
idをつけておくと便利です。

これ以上をやりたいというのであれば
参考URLなど見て勉強してみてください
<html>
<head>

</head>
<body>

<input type="text" id="Q1" name="Q1" onmousedown="hoge()">
</body>
<script type='text/javascript'>
function hoge()
{
Q1.value = ""; //""のなかに設定する値
}
</script>

参考URL:http://www.parkcity.ne.jp/~chaichan/src/javasc21.htm

Q

▼次のようにページ内のdivタグのidの名前によって、formタグ内の要素をdisableにすることはJava scriptによって可能でしょうか?

<div id="AA">のとき、別の場所にある<form id="BB">内のselect要素などすべての要素をdisableにする。

また同時に、id="BB"に指定したスタイルシートの記述を書き換えることは可能でしょうか?

何かよい方法をご存知でしたら教えてください。よろしくお願いいたします。

Aベストアンサー

>なぜか時々エラーが出ます。
ウチでちょっと試した程度ではエラーが発生しませんでした。
できましたら、発生したときのメッセージや場所また、ブラウザの種類なども教えてください。

以下は、予防的な意味での注意点についてちょっと書きます。
>return false;

は、必要ないです。
書かない方がいいと思います。
==nullの場合の処理が必要ないなら
!=nullにすればよいです。
もしくは
return false;でなくて
;
のように空文でもよいです。
あと、idに使っている名前と同じ名前を変数名として使わない方が良いです。
つまり、
id="soldout"の時に
var soldout;という風にはしない方が良いです。
同じでなければ、cartFormでもなんでもかまいません。
あと、scriptは、
<!--
(スクリプトの中身)
//-->
のように
<!--
//-->
で囲むようにします。

getElementById
は、ブラウザやのブラウザのバージョンによっては使えないことがあります。
その場合は、使えるかどうかを調べる必要があります。

<script type="text/javascript">
<!--
function stockStatus (num){
var f=document.getElementById("soldout");

if(f!=null){
for (var i =0; i<=f.length -1 ;i++){
f.elements[i].disabled=num;
}
}
}
//-->
</script>

>なぜか時々エラーが出ます。
ウチでちょっと試した程度ではエラーが発生しませんでした。
できましたら、発生したときのメッセージや場所また、ブラウザの種類なども教えてください。

以下は、予防的な意味での注意点についてちょっと書きます。
>return false;

は、必要ないです。
書かない方がいいと思います。
==nullの場合の処理が必要ないなら
!=nullにすればよいです。
もしくは
return false;でなくて
;
のように空文でもよいです。
あと、idに使っている名前と同じ名前を変数名として...続きを読む

Q同一nameの input type="text" の合計を計算したい

初めて質問させて頂きます。
form 内で同じname名を付けられたテキストフィールドの値の合計を計算し、その値に定数を乗じた値を表示させたいのですが、出来ずに困っております。
name名を別にすれば簡単に出来そうなのですが、このinputが別CGIからの受け取りの関係で数が不定で同一nameが付いてしまいます。(inputは1個以上で上限は無し)
CGI側を書き換える事は自分の技術的に不可能なので、このような質問となりました。

以下は自分なりに試行錯誤の末の拙いソースです。
どなたかお分かりになる方、ご教授を宜しくお願い致します。

<html>
<head>
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">
<!--
function kakunin() {

var sub = Form.getInputs('form1', 'text');
( var subtotal = ~~~; ここに上で得た数字を合計するみたいなものがくるのかなと・・・)
var total = subtotal * 200;

document.form1.field_total.value = total; // 合計を表示

}
// -->
</script>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>
<body>
<form action="" name="form1">
<table>
<tr><td><input name="kazu" type="text" value="2"></td></tr>
<tr><td><input name="kazu" type="text" value="1"></td></tr>
<tr><td><input name="kazu" type="text" value="3"></td></tr>
<tr><td>・・・増えたりします・・・</td></tr>
<tr><td><input type="button" size="8" onclick="kakunin()" value="合計を確認"></td></tr>
<tr><td><input type="text" name="field_total" size="30" value="total"></td></tr>
</table>
</form>
</body>
</html>

初めて質問させて頂きます。
form 内で同じname名を付けられたテキストフィールドの値の合計を計算し、その値に定数を乗じた値を表示させたいのですが、出来ずに困っております。
name名を別にすれば簡単に出来そうなのですが、このinputが別CGIからの受け取りの関係で数が不定で同一nameが付いてしまいます。(inputは1個以上で上限は無し)
CGI側を書き換える事は自分の技術的に不可能なので、このような質問となりました。

以下は自分なりに試行錯誤の末の拙いソースです。
どなたかお分かりになる方、...続きを読む

Aベストアンサー

getElementsByNameで同一Nameを持つ要素(配列)が求められます。
var 合計 = 0;
var 要素 = document.getElementsByName("kazu");
for( var i = 0 ; i < 要素.length ; i++ ) {
  var 値 = parseInt(要素[i].value);
  if( !isNaN(値) ) 合計 += 値;
}
同じ名前でボタンとかないですよね?
あるんだったらTypeも見なければなりません。(上記コードには無い)

Q

に文字列をセットするために

<form>
<input type="file" id="x"/>
</form>
<input type="button" onclick="f()" value="push"/>
<script>
function f()
{
var e=document.getElementById("x");
e.value="x.txt";
}
</script>

としてもセットできません

<form>
<input type="text" id="x"/>
</form>
<input type="button" onclick="f()" value="push"/>
<script>
function f()
{
var e=document.getElementById("x");
e.value="x.txt";
}
</script>

であればセットできるのです
どうしたらセットできるでしょうか?

Aベストアンサー

Minefield 3.0a1で実験を行いました。
おっしゃる状況が再現できました。

参照クリック後のinput要素のvalue値を調べた時は問題なさそうだったので

Console2を用いてエラーを見てみたところ
エラー: Security error = NS_ERROR_DOM_SECURITY_ERR

と、セキュリティ上の理由からエラーが出ているようでした。多分仕様だと思います。

ところで...補足要求。
【何がしたくて】これを行いたいのでしょう?


人気Q&Aランキング

おすすめ情報