Submitボタンがないフォームを自分のASPに送るには?

[上に] [前に] [次に]
ど・どいつ 1999/12/06(月) 20:16:07
1つのASP内に複数のFORMを作って、片方をフォーマット専用
もう片方をボタン専用とします。このときボタンを押したら、
フォーマット側のFORMを自分自身のASPに戻します。
ここで、Request.Formを使って値を取得したい場合、どうするの
でしょうか?

**********hj5.asp***********
<HTML>
<HEAD>
<TITLE>タイトル1</TITLE>
<SCRIPT Language="JavaScript">
function CLKB(){
   document.fcosel.action="/is_asp/hj5.asp";
   document.fcosel.method="POST";
   document.fcosel.submit();
}
</SCRIPT>
</HEAD>
<BODY BGCOLOR="lavender">
<%
if len(trim(Request.Form("text1")))=0 then
   Response.Write "NULL"
else
   Response.Write "text1=" & Request.Form("text1")
end if
(中略)
%>
<FORM NAME="fcosel">
<INPUT TYPE="text" NAME="text1" VALUE="AAA">
<INPUT TYPE="text" NAME="text2" VALUE="BBB">
<INPUT TYPE="text" NAME="text3" VALUE="CCC">
</FORM>
<FORM ACTION="/is_asp/hj5.asp" NAME="f_btn1" METHOD="POST">
<INPUT TYPE="submit" NAME="ent_b" VALUE="実行" onClick="return CLKB();">
</FORM>
</CENTER>
</BODY>
</HTML>

上記を実行すると、「Window.Document.fcosel
has no propaty named 'action'」というエラーが
帰ってきてしまいます。
多分、fcoselフォームには'action'というプロパティが
存在しないのだと思います。

無責任官庁 1999/12/07(火) 11:32:44
ブラウザは何を使ってます?IE3では出来ませんよ。

<FORM NAME="fcosel" ACTION="/is_asp/hj5.asp" METHOD="POST">
<INPUT TYPE="text" NAME="text1" VALUE="AAA">
<INPUT TYPE="text" NAME="text2" VALUE="BBB">
<INPUT TYPE="text" NAME="text3" VALUE="CCC">
</FORM>
<FORM NAME="f_btn1">
<INPUT TYPE="submit" NAME="ent_b" VALUE="実行"
onClick="document.fcosel.submit();return false;">
</FORM>

↑これだけじゃ実現できないことですか?
CLKB()を使わなきゃいけない理由が無ければ、
こんなんでいいと思うのですが。
(なお、当方動作未確認です)

ど・どいつ 1999/12/07(火) 13:07:00
ブラウザは、現在NN3.0&NN4.6のどちらかを使用してます。
直接、イベントに記述してしまう方法ですね。
わざわざJavaScriptを使う必要もないか・・・
(実は、JavaScriptあんまりよく知りません。)
onClick等のイベントは、IE3で使用できないってことですね?

無責任官庁 1999/12/07(火) 14:41:15
ちょっと言葉が足りませんでした。
IE3でも、私の書いた方法ならできます(たぶん)
IE3で出来ないのは、最初にあなたの書いたプログラムの中にある、
action プロパティの変更です。
http://www.tohoho-web.com/js/form.htm#Forms

あと関係ないかもしれないですけど、
<input type="submit">は、今回のようにsubmitの用途として使わないのなら、
<input type="button">の方がいいかも・・・
(ボタンの機能を無視して、単にイペントプロシジャしか動かさないなら)

return false を入れ忘れると、ボタンのsubmit機能と submit();で、
混乱するような気も・・・

ど・どいつ 1999/12/07(火) 16:41:07
[[解決]]
ありがとうございます。できました。(ぱちぱちぱち)
上記プログラムの<FORM NAME="fcosel">のところを、
<FORM NAME="fcosel" METHOD="POST">として、
貴方のやり方でやってみると、
Request.Formで受け取れました。
(但し、試したのはNN3.0ですけど・・・)
あと、アドバイスありがとうございます。
ちゃんと、切り分けて作るようにしてみますね。

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