[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: form & post
FORM の CHECKBOX および RADIO に対応してみました。
>>>>> at Tue, 10 Jul 2001 16:13:29 +0900 (JST)
>>>>> 白井 == Hideyuki SHIRAI (白井秀行) <shirai@rdmg.mgcs.mei.co.jp> said,
白井> リハビリついでに、こんなのも対応して貰えるとうれしいですわ。
白井> http://www.namazu.org/ml/namazu-users-ja/
...snip...
白井> Return で ON/OFF ?
RETURNでON/OFFです。
一応現行の枠組みの中で行うように努力したつもりです。
その分、(特にRADIOの処理あたりは)ad-hocな感もあります。
まぁ、それはアレ、ということでご勘弁を。
ChangeLogも添付しますが、大まかに言葉で説明しときます。
* w3m-form-input で、typeに応じて処理をするようにした。
* checkboxは同一のnameが許されるので、form情報に保持する
値としてはリストとした。selectionの場合は (current . candidate-alist)
であるわけですが、テキトーに判定して処理。ちょっと無理があるかも。
* radioもまた同一のnameが許され択一となります。値は1つなので保持する
こと自身はよいのですが、1つが選択されたら他を消す(チェックをはずす)、
という動作が必要なため、w3m-form-field-id というtext propertyを
新設。
* w3m-form-field-id は fontifyの際に付けられ、fid,type,nameを
"fid=0/type=checkbox/name=test" といったような文字列で、
formの各要素(というかinput_alt)のtextに付与。
* RADIO の選択によるほかの要素の消去は、同一グループであれば
上記ID文字列が同一となることを利用して、バッファの頭からバッファ
全体の w3m-font-field-id プロパティを調べて消去処理するという
少々力技な方法をとっています。
あと、おまけの修正として
* url encode の際、空白文字(0x20)を"+"にエンコードするようにした。
* Title文字列中のentityがdecodeされていなかったので、するようにした。
(http://www.namazu.org/ml/ でテストをしていた際に発覚)
です。
## おおぼけもあるかもしれないのでご注意を :-)
2001-07-11 Shun-ichi GOTO <gotoh@taiyo.co.jp>
* w3m-form.el (w3m-form-goto-next-field): New function.
(w3m-form-make-form-urlencoded): Refine to support value of
check-box type which is list of value string.
(w3m-form-parse-region): Support CHECKBOX type and RADIO
type. Note that CHECKBOX type has multiple values.
(w3m-fontify-forms): Use new property 'w3m-form-field-id to
identify each field to support RADIO type item. Also removed
value putting code because values are already set in parsing.
(w3m-form-input): Support action for CHECKBOX and RADIO type
field.
* w3m.el (w3m-url-encode-string): Encode SPACE(0x20) as "+".
(w3m-rendering-region): Decode entities in title string.
--- Regards,
Shun-ichi Goto <gotoh@taiyo.co.jp>
R&D Group, TAIYO Corp., Tokyo, JAPAN