NN onclickでFORMのActionを変えるには??

[上に] [前に] [次に]
みおみお 2000/06/08(木) 16:13:15
フォームのACTIONを押されたボタンによって動的に変更しています。

IEだとうまくいくのですが ネスケだとうごきません・・・

どうしてでしょうか・・・(T-T)

*以下ソースの一部です。*

<INPUT TYPE="image" SRC="image.gif" BORDER=0
onclick="Form.action=&quot;xxx.asp?val=M&quot;">

nobut [E-Mail] [HomePage] 2000/06/08(木) 17:17:32
ソース略しすぎじゃないかと思うんですが。
例えばフォームを2個使っていると上の場合エラーになります。

PTAN 2000/06/08(木) 20:04:24
推測ですが...
NNだと、documentは省略できませんので、
document.Form.action=
とする必要があると思いますが。

さとぴ 2000/06/08(木) 21:52:41
  onclick="Form.action=&quot;xxx.asp?val=M&quot;"
の部分ですが、Formという名前のオブジェクトが
  Form = document.forms[*]
  (ただし、document.forms[*]はactionを変更しようとしているフォーム)
と指定されていない限り、これが特定のフォームを指し示す
ことはないんじゃないでしょうか?
(Formという名前の既定のオブジェクトはありませんでしたよね?)

もし、このinput要素がactionを指定するフォームに
含まれているものだったら、
  onclick="this.form.action=&quot;xxx.asp?val=M&quot;"
ですし、
別のフォームに属しているなら
  onclick="document.forms[*].action=&quot;xxx.asp?val=M&quot;"
または
  onclick="document.forms["form_name"].action=&quot;xxx.asp?val=M&quot;"
または、
  onclick="document.form_name.action=&quot;xxx.asp?val=M&quot;"
ですよね。

※:*はフォームの出現順によって決まる数値
  form_nameは<form name="form_name" …>
  で指定した、form要素のname属性値

#しかし、じゃあ、なんでIEだと動くんだろう?

みおみお 2000/06/09(金) 09:46:32
みなさん 本当にいろいろアドバイスありがとうございます。
私に足らない部分がたくさんあって それでも返答いただけて
本当に感謝しています。

さて・・・やってみたのですが やっぱりうまくいきません・・。
ソースをきちんとUPします。

<FORM ACTION="list.asp" METHOD="post" NAME="Form1">

  <INPUT TYPE="image" SRC="image1.gif" BORDER=0
          onclick="Form1.action=&quot;xxx.asp?val=M&quot;">
  <INPUT TYPE="image" SRC="image2.gif" BORDER=0
          onclick="Form1.action=&quot;aaa.asp?val=D&quot;">

</FORM>

と こんな感じです。
ページ内にFORMはこれだけです。
いろいろ試してみて、、、
でも ネスケではFORMのACTIONがとられてしまいます。
基本的なことを見逃しているのでしょうか・・・・。

さとぴ 2000/06/09(金) 09:57:36
Form1.action=&quot;xxx.asp?val=M&quot;
  ↓
document.Form1.action=&quot;xxx.asp?val=M&quot;
でどうですか。

さとぴ 2000/06/09(金) 09:58:56
または、
this.form.action=&quot;xxxasp?val=M&quot;

みおみお 2000/06/09(金) 10:54:23
さとびさん レスありがとうございます。

でも 両方とも・・・だめでした(T-T)

どうしてだろう・・・・。

さとぴ 2000/06/09(金) 12:32:13
ははーん。
どうやら、<input type="image" …>では
onClickでイベントの処理ができないみたいですね。

となると、<input type="submit" …>にして
ボタンにしてしまうか、
<img src="…"
  onclick="document.Form1.action=…;document.Form1.submit();">
にするしかないんじゃないでしょうか。

さとぴ 2000/06/09(金) 12:34:21
おっと。訂正です。
http://www.tohoho-web.com/wwwtags.htm
によると、img要素のonclickもダメですね。

さとぴ 2000/06/09(金) 12:40:59
細切れですみません。
img の onclick がダメなら、残された手段は
<a href="#" onclick="…"><img src="…"></a>
かな。

みおみお 2000/06/12(月) 08:47:52
[[解決]]
おはようございます。 さとびさん 本当いろいろとありがとうございます。
IMGはONCLICKがきかないんですね・・・・。

問題のページでは パスワードの受け渡しをやってるところなので
QueryStringでパスワードを渡すわけにはいかないのです。。。

というわけで FormのSubmitで値を渡さなければならなくて・・・。

やっぱりIMGをあきらめるしかないのかな・・・。
でもせっかく GIF作ったから使いたかった・・・・。
しくしく・・・。

さとびさん みなさま 本当にありがとうございました。

[上に] [前に] [次に]