プロが教えるわが家の防犯対策術!

jspに
<form action="XXaction" method="post">
<a href="XXaction" onclick="setData()">○○△</a>
<input type="submit" value="○○" onclick="setData()">
</form>
のように記述してます。
(実際はonclickのjavascriptも実装してます)
ボタンを押すとpostとしてサブミットされるのに、
リンクをクリックするとgetでサブミットされます。
1.なぜgetになるのでしょうか?
2.どうしたらpostで飛ばせるでしょううか?

A 回答 (6件)

<Script Language = "JavaSpcript">


function setData(){
    document.form.submit();
}
</Script>

<form name = "form" action = "XXaction" method = "post">
<a href = "JavaScript:setData()">
</form>


これでどうでしょうか。

windows.document.フォーム.submit

ですが、「form」にname属性でnameを付けてやらなければ指定できませんのであしからず。。。

ちなみに、actionの「XXaction」にとびますので。

この回答への補足

それを実は実装してたんですけど。
微妙に違うかもしれないので、もう一度確認します。
<form name="frm" action="XXAction" method="post">
<a href="JavaScript:setData()">○○</a>
</form>
<script language="Javascript">
function setData(){
alert("OK");
document.frm.submit();
}
</script>
みたいな実装です。

補足日時:2006/06/23 08:53
    • good
    • 0
この回答へのお礼

alertは出るんですが、submitされないみたいです。
alertをsubmitの後に書いても出ました。
なぜsubmitされないのでしょうか・・・

お礼日時:2006/06/23 09:28

JavaScriptが動いているということですが、


JavaScriptのエラーはステータスバーに表示されますか?

その場合、submitしている文に問題があります。

この回答への補足

エラーは出てません。

補足日時:2006/06/22 17:57
    • good
    • 0
この回答へのお礼

すいませんでした。
皆様ありがとうございました。
全くもって、私のミスでした。
document.frm.submit;
となってました。
document.frm.submit();
にしました。
お時間とらせてしまい、誠に申し訳ありませんでした。

お礼日時:2006/06/23 10:07

setDataは、その別プロジェクトとまったく同じjavascriptなのですか?

この回答への補足

いいえ。
同じように記述してるつもりなだけです。。
strutsを使ってる方
<html:link href="#" onclick="サブミットするjavascript">○○○
</html:link>
今作ってるもの
<a href="JavaScript:サブミットするjavascript">○○○</a>
という感じです。
変換されたhtmlの違いはhref="#"かどうかくらいだと思ってました。

補足日時:2006/06/22 15:45
    • good
    • 0

<a href ="JavaScript:setData()">



と。<a href>タグの中からJavaScriptを動作させたい場合はこうなります。

この回答への補足

やってみましたが、javascriptは動きますが、サブミットされてないようです。
javascriptでalertは出るので、動いてる確認は取れてます。
window.document.フォーム.submit();
とやってるんですけどね・・・。

補足日時:2006/06/22 15:23
    • good
    • 0

1.Aタグの遷移は必ずGETです。


2.javascriptでformをsubmitします。
window.forms[0].submit();

この回答への補足

>Aタグの遷移は必ずGETです。
ということは、別プロジェクトのストラッツを使ってるjspはなぜpostになるのか疑問ですが、ありがとうございます。
submitしてますが、どうにも動いてくれませんです。

補足日時:2006/06/22 15:26
    • good
    • 0

JSPはあんまり関係ない気もしますが・・



1.AタグはFORM部品ではないので、FORMタグ内にあっても関係ありません。hrefへ遷移するだけ。

2.Aタグのhrefは削除
  onclick内でFORMをsubmitさせるようする
    • good
    • 0
この回答へのお礼

jspに関係あると思ったのは、strutsを使ってる別プロジェクトのjspでは
<a href="#" onclick="サブミットするjavascript">
で、postで動作してくれてたからです。
Aタグのhrefを削除ということは
<a onclick="サブミットするjavascript">
リンク文字
</a>
のようにすることでしょうか?
これだと、jspを開いたときにリンク文字にカーソルをあてても指型にかわらず(下線がない)、onclickが発生してくれませんでした。さきほども試しましたがダメでした。

お礼日時:2006/06/22 15:04

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