Google グルヌプは Usenet の新芏の投皿ず賌読のサポヌトを終了したした。過去のコンテンツは匕き続き閲芧できたす。

submit button

閲芧: 4 回
最初の未読メッセヌゞにスキップ

Yasushi Shinjo

未読、
2003/08/12 11:35:392003/08/12
To:
新城筑波倧孊情報です。こんにちは。

In article <MeGdncKsEvc...@giganews.com>
e...@ceres.dti.ne.jp writes:
> 猪谷ず申したす。
> <form action="/cgi-bin/test.cgi" method="get">
> <input type="text" name="some_text" />
> <ul>
> <li><button type="submit" name="action" value="1234">Entry1</button></li>

<botton> なんおタグは、HTML の芏栌にありたしたっけ
䜿った事がないなあ。

> <input type="submit" name="action" value="1234" />

こちらが、普通ですよね。

> ず蚘述しおやるず、MSIE でも期埅の動䜜(抌されたボタンに該圓する value
> の倀が action ずしお䌝わる)をしおくれるのですが、この堎合ブラりザでは
> submit ボタンのラベルずしお value の倀が衚瀺されるこずになっおしたいた
> す。この倀はナヌザが芋おも意味䞍明であるため、できるだけナヌザの目に盎
> 接觊れるこずが無いようにしたいのです。

最近、私は次のようにしたした。

(1) value には、ナヌザにずっお意味があるものにする。
(2) 送られおきた文字列から内郚に必芁な value を埩元する。

埩元は、そんなには難しくありたせん。文字コヌドを正芏化しお、
連想配列䞀発です。Ruby だずこんな感じ。

Rstate = [ "unseen", "dupdeleted", "ok", "reposting", "prof", "reposted" ]
RstateMnemonic = { "unseen"=>"採点䞭", "dupdeleted"=>"重耇", "ok"=>"",
"reposting"=>"再提出", "prof"=>"教官採点䞭", "reposted"=>"再提出枈み" }

def decode_rstate_mnemonic( nm )
return nil if( nm == nil )
nm = Kconv::toeuc(nm)
Rstate.each {|rs|
if( RstateMnemonic[rs] == nm )
return( rs )
end
}
return( "unknown" )
end

あら、ルヌプしおいる。逆方向の連想配列しかないので、党郚の芁
玠でルヌプしお探しおいたすね。予め䜜っおおけばいいんだけれど、
぀あるず䞡方の敎合性を取るのが面倒なので、片方しか䜜っおい
たせんね。

あず芋栄えを調敎するなら、スタむルシヌトを䜿うずいいかず思い
たす。

<li> <input type="submit" name="action" value="1234" CLASS="entry1"/>
<li> <input type="submit" name="action" value="abcd" CLASS="entry2"/>
<li> <input type="submit" name="action" value="foobar" CLASS="entry3"/>

あるいは、

<li CLASS="entry1"> <input type="submit" name="action" value="1234"/>
<li CLASS="entry2"> <input type="submit" name="action" value="abcd"/>
<li CLASS="entry3"> <input type="submit" name="action" value="foobar"/>

で、ヘッダのどこかに、 input.entry1 { むメヌゞは、これ;} ず
かli.entry1 { むメヌゞはこれ; }ずか曞きたす。実は、スタむル
シヌトはただ勉匷しおいる所で䜿ったこずはないのですど、人に奚
めおいたす。うたくいったら教えお䞋さい。

ず、質問に答えるふりをしお、質問しおしたう。fj の基本ですよね。

> この様に、䞀぀のフォヌムで耇数の submit ボタン(ボタンのラベルはその
> formでの倀ず関係ないものが䜿いたい)を配眮し、どの submit が抌されたの
> か知りたいずいう堎合、MSIE でもきちんず動䜜させるにはどのように form
> を曞けばよいのでしょうか。

「぀のフォヌムで」ずいう条件がなければ、form を分割しお、
本圓のパラメタは、hidden で枡す手はありたすよね。

<LI> <form action="/cgi-bin/test.cgi" method="get">
<input type="hidden" name="action" value="1234">
<input type="submit" value="Entry1">
</form>
<LI> <form action="/cgi-bin/test.cgi" method="get">
<input type="hidden" name="action" value="abcd">
<input type="submit" value="Entry2">
</form>
<LI> <form action="/cgi-bin/test.cgi" method="get">
<input type="hidden" name="action" value="foobar">
<input type="submit" value="Entry3">
</form>

䞀応、ニュヌスグルヌプずしおは、発信偎の話は、
fj.net.www.authoring ずいうこずになっおいるので、続きは
Followup-To: fj.net.www.authoring にしたす。ブラりザの蚭定で
盎るずいう話でなくお、サヌバ偎の工倫でなんずかするずいうこず
になるかず思いたす。

 新城 靖 しんじょう やすし 
 筑波倧孊 電子・情報       

mitsugu oyama

未読、
2003/08/13 9:54:172003/08/13
To:
 おおやたです。

Yasushi Shinjoさんの<YAS.03Au...@kirk.is.tsukuba.ac.jp>から
> <botton> なんおタグは、HTML の芏栌にありたしたっけ
 HTML4.01には botton 芁玠なんお定矩されおいたせん。Geckoは
暙準に準拠しおいるので、botton タグ(?) を解釈しおいるずは思
えたせんが。なにかの間違いでは?


--
mitsugu oyama
http://www.asahi-net.or.jp/~cu5m-ooym/

ku...@gssm.otsuka.tsukuba.ac.jp

未読、
2003/08/13 12:15:042003/08/13
To:
久野です。

y...@is.tsukuba.ac.jpさん:


> > <li><button type="submit" name="action" value="1234">Entry1</button></li>
>
> <botton> なんおタグは、HTML の芏栌にありたしたっけ
> 䜿った事がないなあ。

<botton>はないけど<button>...</button>はありたすよ。

HTML 4.01 Strict DTDから抜粋。 久野
---

<!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">
<!ELEMENT BUTTON - -
(%flow;)* -(A|%formctrl;|FORM|FIELDSET)
-- push button -->
<!ATTLIST BUTTON
%attrs; -- %coreattrs, %i18n, %events --
name CDATA #IMPLIED
value CDATA #IMPLIED -- sent to server when submitted --
type (button|submit|reset) submit -- for use as form button --
disabled (disabled) #IMPLIED -- unavailable in this context --
tabindex NUMBER #IMPLIED -- position in tabbing order --
accesskey %Character; #IMPLIED -- accessibility key character --
onfocus %Script; #IMPLIED -- the element got the focus --
onblur %Script; #IMPLIED -- the element lost the focus --
%reserved; -- reserved for possible future use --
>

mitsugu oyama

未読、
2003/08/13 17:14:202003/08/13
To:
おおやたです。

わたしの<3f3a4309$0$8436$44c9...@news3.asahi-net.or.jp>から
>  HTML4.01には botton 芁玠なんお定矩されおいたせん。Geckoは
 おもいっきりDTDに曞かれおいたした。button 芁玠は、HTML
4.01 に含たれおいたす。ここに間違いを蚂正させおいただきた
す。
 ぀たり Gecko の動䜜が正しいずいうこずになりたす。

Eiichiro ITANI

未読、
2003/08/13 21:35:222003/08/13
To:
猪谷です。フォロヌありがずうございたす。

y...@is.tsukuba.ac.jp (Yasushi Shinjo) writes:

>> <li><button type="submit" name="action" value="1234">Entry1</button></li>
>
> <botton> なんおタグは、HTML の芏栌にありたしたっけ
> 䜿った事がないなあ。

すでにいく぀かフォロヌが぀いおありたすように、HTMLの芏栌ずしおあるので
す、はい。

>> ず蚘述しおやるず、MSIE でも期埅の動䜜(抌されたボタンに該圓する value
>> の倀が action ずしお䌝わる)をしおくれるのですが、この堎合ブラりザでは
>> submit ボタンのラベルずしお value の倀が衚瀺されるこずになっおしたいた
>> す。この倀はナヌザが芋おも意味䞍明であるため、できるだけナヌザの目に盎
>> 接觊れるこずが無いようにしたいのです。

このフォヌムが動的に生成されるようになっおおりたしお(DBのレコヌドの䞀
郚を衚瀺する)、value のずころにレコヌドのプラむマリキヌの倀を埋め蟌む
ようにしおいたわけです。

<li> entry_n のレコヌド倀A
<button name="view1" value="entry_nの䞻キヌ">ビュヌ1を衚瀺</button>
<button name="view2" value="entry_nの䞻キヌ">ビュヌ2を衚瀺</button>
<button name="modify"
value="entry_nの䞻キヌ">該圓レコヌドの修正</button>
</li>

HTMLの芁点だけ抜き出すず、こんな感じでしょうか。テヌブルからいく぀かの
芁玠をリストで衚瀺しお、リストの各゚ントリ毎にアクションのためのボタン
を配眮、飛び先では抌されたボタンに該圓するアクションを実行するずいう感
じです。

こういう甚途だず button が䞀番しっくり来るわけですが、少なくずもMSIEで
は理解䞍胜な挙動になっおしたっお党く䜿い物になりたせん。たた w3m/0.4.1
だず button が解釈されないようで、これも問題なのですが。
# lynx、konqueror、dillo だず倚少衚瀺面での問題はあるにせよ、動䜜はし
# おくれたす。

> 最近、私は次のようにしたした。
>
> (1) value には、ナヌザにずっお意味があるものにする。
> (2) 送られおきた文字列から内郚に必芁な value を埩元する。
>
> 埩元は、そんなには難しくありたせん。文字コヌドを正芏化しお、
> 連想配列䞀発です。Ruby だずこんな感じ。

私の堎合、䞻キヌ倀はかなり長くなる堎合があるので、ボタンのラベルに

「ビュヌ1を衚瀺 123kdadie128412112132」

おなものが衚瀺されるずなんだなぁ、ずいうのず、飛び先でなるべく簡単にア
クションを刀定したいなぁ、ずいうのもありたす(飛び先のペヌゞでは連想配
列や、文字列の分割をきれいに蚘述しにくい蚀語を䜿っおいるもので)。

ちなみに

<input type="image" action="submit" name="action" value="1234" />

この曞き方の堎合、value の倀をサヌバに枡すべきかどうか、ずいうのはHTML
4.01 の芏栌を芋る限りずくに指瀺はないようで、type="image" を䜿うのもあ
たりよろしくないらしい。konqueror(3.1.3)、w3m(0.4.1)、MSIE(6.0) は
value を枡しおくれないようです。よっおこの目的では䜿えない。
# lynx では type="image" alt="text" で指定した text を衚瀺しおくれない 
# なぜ?

> あず芋栄えを調敎するなら、スタむルシヌトを䜿うずいいかず思い
> たす。

が、動かないのではどうしようもないので、<input type="submit">の芋た目
を匷制的に倉曎する方法を詊しおみたした。

---x8------x8------x8------x8------x8------x8---

<style type="text/css">
#subm1 {
background-image: URL(entry1.png);
width: 60px; height: 20px;
font-size: 0px;
}
</style>

 略 

<li><input id="subm1" type="submit" name="action" value="1234" /></li>

---x8------x8------x8------x8------x8------x8---

ううヌヌん、font-size: 0px あたりが非垞に矎しくない、無理やりだ、ずい
う感じはあるものの、䞀応スタむルシヌト察応ブラりザでの芋おくれを䞊曞き
しおしたうこずはできたすね。

背景画像だけ衚瀺しお、text は衚瀺しない、なんお指定ができるず良いんで
すが、visibility を hidden にするず submit ボタン自䜓衚瀺されなくなる
ので、これはダメでした。

ずもあれ、䞀぀の手ずしお芚えおおきたす。
# ただ、スタむルシヌトの曞き方、ブラりザの察応状況などによっおえらいこ
# ずになっおしたいそうな感じがぎゅんぎゅんしたす (^^;)

> ず、質問に答えるふりをしお、質問しおしたう。fj の基本ですよね。

良い䌝統だず思いたす、はい (^^)

> 「぀のフォヌムで」ずいう条件がなければ、form を分割しお、
> 本圓のパラメタは、hidden で枡す手はありたすよね。

先日䜜成したペヌゞではこの方法でも問題なかったので、ボタンの数だけ
<form></form> を配眮するずいうあたり矎しくない方法を採甚したした。

が、

入力1 [____] 入力2 [_____] 
 入力n [_____]

・ item_i [action_1] [action_2]
・ item_j [action_1] [action_2] [action_3]
・ item_k [action_1] [action_2]



なんおいうフォヌムだず、ちず倧倉なこずになっおしたいたす。

なんずか玠盎に <button> 䜿えないものかなぁ、ず思うんですが、やはりMSIE
からの利甚を考えた堎合には <button> は党くダメ、ずいう結論しか出ないの
でしょうか。

こうやればよいのではなど、もしなにかアむデアありたしたら、よろしくお願
いしたす。

> 䞀応、ニュヌスグルヌプずしおは、発信偎の話は、
> fj.net.www.authoring ずいうこずになっおいるので、続きは
> Followup-To: fj.net.www.authoring にしたす。ブラりザの蚭定で
> 盎るずいう話でなくお、サヌバ偎の工倫でなんずかするずいうこず
> になるかず思いたす。

ありがずうございたす。Followup-To: f.n.w.authoring の指瀺に埓いたす。

--
O
o ●-● 猪谷 英䞀郎 == Eiichiro Itani
-ゝ e...@ceres.dti.ne.jp

OGAWA KenIchi

未読、
2003/08/14 5:31:222003/08/14
To:
小川ず申したす。

e...@ceres.dti.ne.jpさんの蚘事<MeGdncKsEvc...@giganews.com>から匕甚したす

> <form action="/cgi-bin/test.cgi" method="get">
> <input type="text" name="some_text" />
> <ul>

> <li><button type="submit" name="action" value="1234">Entry1</button></li>

> <li><button type="submit" name="action" value="abcd">Entry2</button></li>
> <li><button type="submit" name="action" value="foobar">Entry3</button></li>
> </ul>
> </form>

䞊の代わりに

<form action="/cgi-bin/test.cgi" method="get">
<input type="text" name="some_text" />
<ul>

<li><input type="submit" name="1234" value="Entry1" /></li>
<li><input type="submit" name="abcd" value="Entry2" /></li>
<li><input type="submit" name="foobar" value="Entry3" /></li>
</ul>
</form>

のように曞くのでは駄目ですか
--
小川建䞀 mailto:ken...@ice.email.ne.jp
++

Hirohisa Kuwata

未読、
2003/08/24 15:21:082003/08/24
To:
桑田元あきはばら です。

かなり遅いフォロヌずなりたしたが、お圹に立おればず思い、ポスト
しおみたす。

# しかし、久々だなぁ、NetNews:)

Eiichiro ITANI <e...@ceres.dti.ne.jp> wrote in message
<O9-dnf7DOfH...@giganews.com>...

>こうやればよいのではなど、もしなにかアむデアありたしたら、よろしくお願
>いしたす。

ちょっず的倖れかもしれたせんが、以前私が1぀のformに耇数のbutton
を䜿甚し、抌䞋されたbuttonによっお次のペヌゞに枡したい倀を倉曎する
堎合はこうしたした。手元に゜ヌスがないのでうろ芚えですが  。

# そもそも<form></form>の䞭にはsubmitは1぀しか䜿えないのでは
なかったでしたっけ 私の勘違いかもしれたせんが  。

1. input type="button" ずしお、buttonを耇数配眮。nameは党お違う
倀を蚭定したす。buttonが抌されたら、JavaScriptのfunctionに飛
ばす党button同じfunctionに飛ばし、匕数には蚭定したい倀を
セット。
2. submitボタンはなし。
3. hiddenを1぀甚意する。
4. formのactionには飛び先のcgi等を蚭定。

こうするず、いずれかのbuttonを抌した時点でJavaScriptのfunctionに
飛ぶので、そのfunctionでは枡された倀をhiddenの倀に蚭定したす。"ど
のbuttonが抌されたか" も次のcgiに枡したい堎合は、もう1぀hiddenを甚
意しおそこにbuttonのnameなりvalueなりを蚭定したす。
その埌、function内でsubmitしおあげれば倀は綺麗に枡るかず。

サンプル゜ヌスが欲しい堎合は蚀っお䞋されば。

ではでは。

--
Hirohisa Kuwata
"The Velvet Fields" http://village.infoweb.ne.jp/~umajets/
mailto:uma...@nifty.com (private)

OGAWA KenIchi

未読、
2003/08/26 5:09:102003/08/26
To:
小川ず申したす。

Hirohisa Kuwataさんの蚘事<bib388$8d$1...@news521.nifty.com>から匕甚したす

> # そもそも<form></form>の䞭にはsubmitは1぀しか䜿えないのでは
> なかったでしたっけ 私の勘違いかもしれたせんが  。

HTML 4.01 Specification
http://www.w3.org/TR/1999/REC-html401-19991224/interact/forms.html#h-17.2.1

内の submit buttons の説明に

  A form may contain more than one submit button.

ずあるので、1぀しか䜿えないずいうこずはないず思いたす。

> 1. input type="button" ずしお、buttonを耇数配眮。nameは党お違う
> 倀を蚭定したす。

>                                "ど
> のbuttonが抌されたか" も次のcgiに枡したい堎合は、もう1぀hiddenを甚
> 意しおそこにbuttonのnameなりvalueなりを蚭定したす。

<button>ではなく<input>を䜿うずIEでも抌されたボタンの情報だけが
サヌバぞ枡されるようなので、"どのbuttonが抌されたか" ずいう情報を
hiddenに持たせる必芁はないのではないでしょうか。

Eiichiro ITANI

未読、
2003/08/26 13:09:072003/08/26
To:
猪谷です。
諞々遅くお申し蚳ないです。

匕甚文前埌させおいたす。

Hirohisa Kuwata <uma...@nifty.com> writes:

> # そもそも<form></form>の䞭にはsubmitは1぀しか䜿えないのでは
> なかったでしたっけ 私の勘違いかもしれたせんが  。

その蟺りも自信がないので HTML 芏栌的にはどうなのかな、ず思っおいたので
すが、ちず私の぀たない調査胜力ではわかりかねたした。

ずはいえ、結構な数の UA で耇数の<button type="submit">が動䜜するこず、
問題の MSIE でも button のかわりに <input type="submit"> を耇数配眮し
た堎合「正垞に」機胜するようなので、䞀぀しかダメ、ずいう制玄はずくに蚭
けられおいないんじゃないかず勝手に思い蟌んだりしおいたす。

> Eiichiro ITANI <e...@ceres.dti.ne.jp> wrote in message
> <O9-dnf7DOfH...@giganews.com>...
>
>>こうやればよいのではなど、もしなにかアむデアありたしたら、よろしくお願
>>いしたす。

> 1. input type="button" ずしお、buttonを耇数配眮。nameは党お違う


> 倀を蚭定したす。buttonが抌されたら、JavaScriptのfunctionに飛
> ばす党button同じfunctionに飛ばし、匕数には蚭定したい倀を
> セット。
> 2. submitボタンはなし。
> 3. hiddenを1぀甚意する。
> 4. formのactionには飛び先のcgi等を蚭定。

なるほど。それも手ですね。

> サンプル゜ヌスが欲しい堎合は蚀っお䞋されば。

そういうこずを行っおいるペヌゞを芋た気がしたす。JavaScript の勉匷も兌
ねお、おいおい勉匷しおみようず思いたすので、お気持ちだけでありがたく。

OGAWA KenIchi <ken...@ice.email.ne.jp> writes:

> <form action="/cgi-bin/test.cgi" method="get">
> <input type="text" name="some_text" />
> <ul>
> <li><input type="submit" name="1234" value="Entry1" /></li>
> <li><input type="submit" name="abcd" value="Entry2" /></li>
> <li><input type="submit" name="foobar" value="Entry3" /></li>
> </ul>
> </form>
>
> のように曞くのでは駄目ですか

CGI偎で、倉数名の空間を走査しなければならないのがなんかむダだなぁ、ず
も思ったんですが、考えおみればこのための凊理はそんな倧局なこずになるわ
けでもないですね。

ボタンが送り出すべき倀ず、同䞀フォヌム内で甚いられるsubmit以倖の芁玠に
甚いる倉数名がかち合わないように蚭蚈しおやりさえすればよいわけですね。
# はじめは䜕ずなく「やだなぁ」で华䞋だったんですが、これを読んで改めお
# 考えおみるずそんなに嫌うべき理由もないこずに思い至りたした。

どちらも参考になりたした。
ありがずうございたす。

新着メヌル 0 件