javascriptについて質問です。htmlのformのsubmitボタン(typeがsubmitのinput要素)のname属性に変更をかけてsubmitを行う、ということはjavascriptで実現可能でしょうか。もしできれば具体的にどう記述すればよいでしょうか。現在name属性値の違いによって複数のsubmitボタンによって制御を分けているページがあり、このsubmitボタンを画像にしなければならず、悩んでおります。フォームから送られる値を受け取る側のプログラムの変更は現実的に難しいです。

回答の条件
  • 1人2回まで
  • 登録:2006/03/18 08:48:07
  • 終了:2006/03/25 08:50:03

回答(3件)

id:iketerummo No.1

iketerummo回答回数68ベストアンサー獲得回数42006/03/18 10:46:41

ポイント26pt

憶測ですが、複数submitを配置したいということですよね?

  • head部

<script language="JavaScript"></p> <p><!--</p> <p>function check(v) {</p> <p>if (v=='a') {</p> <p>//aの場合の処理</p> <p>document.a.para.value=v;</p> <p>document.a.submit();</p> <p>} else {</p> <p>//bの場合の処理</p> <p>document.b.para.value=v;</p> <p>document.b.submit();</p> <p>}</p> <p>}</p> <p>//--></p> <p></script>

  • body部

<form name="a" method="post">

<input type="hidden" name="para">

<input type="submit" onClick="check('a')">

</form>

<form name="b" method="post">

<input type="hidden" name="para">

<input type="submit" onClick="check('b')">

</form>

これで受取り側は変更せず、para変数にaまたはbの値を受け取れます。onClickイベントの中でsubmitするので画像でも普通のボタンでも動きます。外してたらごめんなさいm(_ _)m

id:kohei_april20

回答ありがとうございます。

ただ、フォームを複数にしないですむ方法を探しております。

2006/03/18 14:20:00
id:WANT No.2

WANT回答回数118ベストアンサー獲得回数92006/03/18 11:08:06

ポイント25pt

 こんな感じで、ボタンによってコールするJavaScriptを変えて、

JavaScript内部で値を加工する...という方法はダメでしょうか?

もし、見当違いな回答でしたらスミマセン

HTML側

<form name="frmSample" method="POST">

<input type="text" name="txtSample">

</form>

<a href="javascript:a()"><img src="hoge1.jpg"></a>

<a href="javascript:b()"><img src="hoge2.jpg"></a>

JavaScript側

<SCRIPT language="JavaScript">

<!--

function a(){

document.frmSample.submit();

任意の処理1

}

function b(){

document.frmSample.submit();

任意の処理2

}

//-->

</SCRIPT>

id:kohei_april20

回答ありがとうございます。

しかし現行のフォームから送信される値を維持しなければならないので、これだと難しそうです。

2006/03/18 14:16:25
id:bonyan No.3

bonyan回答回数13ベストアンサー獲得回数12006/03/18 13:31:33

ポイント25pt

現状のHTMLと受け取る側のプログラムがどうなってるのかわからないので、想像でしか回答できないのですが、

HTMLが

<form action="hoge.cgi">

<input type="submit" name="abutton" value="Aボタン">

<input type="submit" name="bbutton" value="Bボタン">

</form>

で、受け取る側のプログラムで、abutton か bbutton の

変数の値(変数の有無?)がどうかで処理を分けてる、

という感じでしょうか?

>htmlのformのsubmitボタン(typeがsubmitのinput要素)のname属性に

>変更をかけてsubmitを行う、ということはjavascriptで実現可能でしょうか。

上記の方法はちょっと思いつかないのですが、

こんな感じでどうでしょう?

<form action="hoge.cgi" name="frm">

<input type="hidden" name="dummy" value="">

<a href="javascript:pushed('a');"><img src="a.jpg"></a>

<a href="javascript:pushed('b');"><img src="b.jpg"></a>

</form>

<SCRIPT language="JavaScript">

<!--

function pushed(buttonmei){

if (buttonmei=='a'){frm.dummy.value='Aボタン';frm.dummy.name='abutton'}

if (buttonmei=='b'){frm.dummy.value='Bボタン';frm.dummy.name='bbutton'}

frm.submit();

}

//-->

</SCRIPT>

ダミーの変数を設けて、押されたボタンの内容によって、値と名前を

変えてしまうという感じです。ちょっと強引な気もしますが。。

これで、受け取る側には前のHTMLと同じ情報が渡ると思います。

id:kohei_april20

こんなことできるのですね!これで試してみたいと思います。ありがとうございます。

(追記)無事動きました。ありがとうございました。

2006/03/19 15:32:22

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

  • name属性の変更 人力日記 2006-03-18 15:59:54
    question:1142639286 変更は可能なのだけど、回答が全部他の解決方法なのは何故? と思って書き込んでみたけど・・・タッチの差で締め切り 後、Submitを画像にする事との関連がよく分かんなか
  • メモ 連載:良いコ?ドへの道―普通のプログラマのためのステップアップガイド|gihyo.jp … 技術評論社 javascriptについて質問です。htmlのformのsubmitボタン(typeがsubmitのinput要素)のname属性に
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません