- PR -

formのsubmitが走るときと走らないときがある。

1
投稿者投稿内容
ボブ
常連さん
会議室デビュー日: 2007/10/03
投稿数: 44
投稿日時: 2008-01-16 20:26
環境:IE6

<a href>でリンクが貼られたところに onClickでsubmitをしようと思っています。
希望する動きとしては、submitが行われサーバで処理が行われた後に
リンクで貼られたページへ移動したいと思っています。

しかしリンクを押したとき、submitの処理が行われる場合と、行われない場合があり、
なぜそのような動きをするのが検討がつきません。
もし分かる方がいらっしゃればご教示頂きたく。


<form name="frm" method="POST" action="xxxxxxxx/servlet?aaa=aaa&bbb=bbb">
<input type = "radio" name="yamada" value="taro">
<input type = "radio" name="yamada" value="hanako">

<a href="yyyyyy/servlet?ccc=ccc&ddd=ddd" onClick="submit()">リンク</a>
<input type="submit" name="agree" value="提出">

</form>
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2008-01-16 21:05
引用:

ボブさんの書き込み (2008-01-16 20:26) より:
<form name="frm" method="POST" action="xxxxxxxx/servlet?aaa=aaa&bbb=bbb">
<input type = "radio" name="yamada" value="taro">
<input type = "radio" name="yamada" value="hanako">

<a href="yyyyyy/servlet?ccc=ccc&ddd=ddd" onClick="submit()">リンク</a>
<input type="submit" name="agree" value="提出">

</form>


2か所怪しいところがあります。
ひとつは
引用:

ボブさんの書き込み (2008-01-16 20:26) より:
<form name="frm" method="POST" action="xxxxxxxx/servlet?aaa=aaa&bbb=bbb">


です。action にパラメーターを付加しても良いのか?ということです。
ただ、
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=42033&forum=7
によれば、これも正しいのかもしれません。

もうひとつは、
引用:

ボブさんの書き込み (2008-01-16 20:26) より:
<a href="yyyyyy/servlet?ccc=ccc&ddd=ddd" onClick="submit()">リンク</a>


です。これは href に書いたものが action と重なっているのは変だと思います。
ちょっと、書き方は忘れてしまいましたが、
<a href="#" onClick="submit()">リンク</a>
か、
<a href="javascript:void();" onClick="submit()">リンク</a>
などのようにするのが通例ではないでしょうか?

あと、action や href に書いているパラメーターが動的の場合、特殊記号が入っているとタグが閉じなくなっている、などということはないでしょうか?
ブラウザーの JavaScript の実行時にエラーになっていないでしょうか?IE だったらウィンドウの左下にエラーのアイコンが表示されるかどうかで判断できます。
ボブ
常連さん
会議室デビュー日: 2007/10/03
投稿数: 44
投稿日時: 2008-01-21 17:11
返答遅くなり申し訳ありません。

>あと、action や href に書いているパラメーターが動的の場合、特殊記号が入っている>とタグが閉じなくなっている、などということはないでしょうか?

これは十分に考えられます。

結局ロジックを再構成し直すことにしました。
JavaScriptの動きをもっと勉強する必要がありますね。
1

スキルアップ/キャリアアップ(JOB@IT)