formgatame

提供: Personal Tukubai for Academic
ナビゲーションに移動 検索に移動

名前

formgatame : HTML ファイルのフォームを固める(読み取り専用にする)

書式

使い方とオプション

Usage

formgatame <html>
formgatame <html> <data>

Option

--form <formname>
--class <classname>
--except <name>
--except-file <file>

説明

<html> ファイルの各種 input タグ (button checkbox file image radio reset submit text)、textarea タグ、select タグ、option タグに属性を挿入すること で読み取り専用にします。各タグに挿入する属性は次の通り。class=“readonly” のクラス名は –class オプションで変更できます。

input type="button"   -> disabled="disabled"
input type="file"     -> disabled="disabled"
input type="image"    -> disabled="disabled"
input type="reset"    -> disabled="disabled"
input type="submit"   -> disabled="disabled"
input type="checkbox" -> class="readonly" disabled="disabled"
input type="radio"    -> class="readonly" disabled="disabled"
input type="text"     -> readonly="readonly" class="readonly"
                        tabindex="-1"
textarea              -> readonly="readonly" class="readonly"
                        tabindex="-1"
select                -> readonly="readonly" class="readonly"
                        tabindex="-1"
option                -> disabled="disabled"

input type=“radio”、input type=“checkbox” タグは、checked=“checked” 属性が付いている時、<input type=“hidden” name=“name” value=“…”/> 形式のタグを直後に追加します。

option タグに selected=“selected” 属性が付いている時、disabled 属性は挿入されません。

例(その1)

全タグを readonly にする

$ cat html
<html><body>
<form name="form1">
<input type="button" name="name_button"/>
<input type="file" name="name_button"/>
<input type="image" name="name_image" />
<input type="reset" name="name_reset"/>
<input type="submit" name="name_submit"/>
<input type="text" name="name_text" class="abc" value="X"/>
<input type="radio" name="name_radio" value="a"/>
<input type="radio" name="name_radio" value="b" checked="checked"/>
<input type="radio" name="name_radio" value="c"/>
<input type="checkbox" name="name_checkbox" onclick="alert('linux!')"
value="z" checked="checked"/>
<textarea name="name_textarea">
usp
laboratoy
</textarea>
<select name="pulldown1">
<option value="pd1">pd1</option>
<option value="pd2" selected="selected">pd2</option>
<option value="pd3">pd3</option>
</select>
</form>
</body></html>

$ formgatame html
<html><body>
<form name="form1">
<input type="button" name="name_button" disabled="disabled"/>
<input type="file" name="name_button" disabled="disabled"/>
<input type="image" name="name_image" disabled="disabled"/>
<input type="reset" name="name_reset" disabled="disabled"/>
<input type="submit" name="name_submit" disabled="disabled"/>
<input type="text" name="name_text" value="X" readonly="readonly"
class="readonly abc" tabindex="-1"/>
<input type="radio" name="name_radio" class="readonly" value="a"
disabled="disabled"/>
<input type="radio" name="name_radio" class="readonly" value="b"
checked="checked" disabled="disabled"/><input type="hidden"
name="name_radio" value="b"/>
<input type="radio" name="name_radio" class="readonly" value="c"
disabled="disabled"/>
<input type="checkbox" name="name_checkbox" onclick="alert('linux!')"
class="readonly" value="z" checked="checked"
disabled="disabled"/><input type="hidden" name="name_checkbox"
value="z"/>
<textarea name="name_textarea" readonly="readonly" class="readonly"
tabindex="-1">
usp
laboratoy
</textarea>
<select name="pulldown1" readonly="readonly" class="readonly"
tabindex="-1">
<option value="pd1" disabled="disabled">pd1</option>
<option value="pd2" selected="selected">pd2</option>
<option value="pd3" disabled="disabled">pd3</option>
</select>
</form>
</body></html>

例(その2)

指定タグのみ readonly にする

$ cat tag
name_text
name_tag

$ formgatame html tag
<html><body>
<form name="form1">
<input type="button" name="name_button"/>
<input type="file" name="name_button"/>
<input type="image" name="name_image" />
<input type="reset" name="name_reset"/>
<input type="submit" name="name_submit"/>
<input type="text" name="name_text" value="X" readonly="readonly"
class="readonly abc" tabindex="-1"/>
<input type="radio" name="name_radio" value="a"/>
<input type="radio" name="name_radio" value="b" checked="checked"/>
<input type="radio" name="name_radio" value="c"/>
<input type="checkbox" name="name_checkbox" onclick="alert('linux!')"
value="z" checked="checked"/>
<textarea name="name_textarea">
usp
laboratoy
</textarea>
<select name="pulldown1">
<option value="pd1">pd1</option>
<option value="pd2" selected="selected">pd2</option>
<option value="pd3">pd3</option>
</select>
</form>
</body></html>

例(その3)

指定タグを除いて readonly にする

$ formgatame --except name_submit
<html><body>
<form name="form1">
<input type="button" name="name_button" disabled="disabled"/>
<input type="file" name="name_button" disabled="disabled"/>
<input type="image" name="name_image" disabled="disabled"/>
<input type="reset" name="name_reset" disabled="disabled"/>
<input type="submit" name="name_submit"/>
<input type="text" name="name_text" value="X" readonly="readonly"
class="readonly abc" tabindex="-1"/>
<input type="radio" name="name_radio" class="readonly" value="a"
disabled="disabled"/>
<input type="radio" name="name_radio" class="readonly" value="b"
checked="checked" disabled="disabled"/><input type="hidden"
name="name_radio" value="b"/>
<input type="radio" name="name_radio" class="readonly" value="c"
disabled="disabled"/>
<input type="checkbox" name="name_checkbox" onclick="alert('linux!')"
class="readonly" value="z" checked="checked"
disabled="disabled"/><input type="hidden" name="name_checkbox"
value="z"/>
<textarea name="name_textarea" readonly="readonly" class="readonly"
tabindex="-1">
usp
laboratoy
</textarea>
<select name="pulldown1" readonly="readonly" class="readonly"
tabindex="-1">
<option value="pd1" disabled="disabled">pd1</option>
<option value="pd2" selected="selected">pd2</option>
<option value="pd3" disabled="disabled">pd3</option>
</select>
</form>
</body></html>

--except name は --except name1 --except name2 ... と複数記述できます。

例(その4)

–except-file オプションは、ファイル <file> の中に記述されているタグ名を除いて readonly にします。指定ファイルの形式は特になく、レコードおよびフィールドに記述されている値がタグ名として指定されているとみなします。

$ cat except_name                              # 横型
submit cancel modoru
$ cat except_name                              # 縦型
submit
cancel
modoru
$ formgatame --except-file except_name html

これは、次の記述と同じです。

$ formgatame --except submit --except cancel --except modoru html

備考

class 属性が既存の場合、 class=“readonly 既存クラス” と置換します。abindex 属性が既存の場合、tabindex=“-1” と上書きします。disabled 属性が既存の場合、disabled=“disabled” と上書きします。

<data> ファイルは第1フィールドが readonly にする名前と解釈され、第2フィールド以降は無視されます。

<html> は正しい html として記述されている必要があります。例えば、タグはすべて小文字であり、<タグ /> あるいは、<タグ> </タグ> と記述される必要があります。

Version and Edition

Version : Tue Jun 18 19:00:37 JST 2019

Edition : 2


© 2021 Universal Shell Programming Laboratory site