Next Page

1

Previous Page

Thread: 入力項目のマスク

Created on: 05/12/17 10:19 AM

Replies: 1

drummusuko


新米


Joined: 05/12/17

Posts: 1

入力項目のマスク
05/12/17 10:19 AM

アプリケーションのログインユーザによって、入力項目にマスクをかけて入力不可としたり、
マスクを解除して入力可能とするような動作制御を行いたいです。
その際に使用できるcf関数はありますでしょうか?

Link | Top | Bottom

mur


新米


Joined: 06/04/07

Posts: 20

RE: 入力項目のマスク
05/31/17 9:22 AM

Webの入力項目ということでフォームの<input>タグとかを指していると思うのですが、
インタラクティブに入力可・不可を切り替えるのであれば JavaScriptを使っていく
ことになると思います。
ページを開いたタイミングでユーザーによって可否を決定するので良ければ
<input>の disabled とか readonly を使う事になると思います。

その場合のCF側の作業は、cfif を使ってユーザーによってそれら属性を付加
するかどうかを決定するとかだと思います。

例: 変数rolesの値がadminじゃなかったら input に readonly を付ける
   <input name="p1" value="初期値" <cfif roles is not "admin">readonly</cfif>>

該当の入力欄が <input> ではなく <cfinput> の場合は、attributecollection
を使って、どの属性を付加するかを指定すれば良いと思います。
とりあえず動きを見るためのプログラムを貼り付けておきます。user と表示された
ボタンを押してサブミットしたときは readonly が <cfinput> に付与されます。
<cfparam name="Form.roles" default="user" >
<cfset stP1=StructNew()>
<cfset stP1.type = "text">
<cfset stP1.name = "p1">
<cfset stP1.value = "">
<cfif Form.roles is not "admin">
<cfset stP1.readonly = "true">
</cfif>
<cfform preservedata="true" >
<cfinput attributecollection="#stP1#">
<cfinput type="submit" name="roles" value="admin">
<cfinput type="submit" name="roles" value="user">
</cfform>


あと、<cflogin>を使って、ログインユーザーを管理されている場合は、cfloginuser
で指定した roles の値を使って条件分岐を行うと、スマートに readonly 等を付ける
付けないが出来ると思います。

<cfif not IsUserInRole("admin")>readonly</cfif>

とかでしょうか。

※ input の disabled と readonly の違いは下記の情報などを参考にして下さい。
http://qiita.com/ma_me/items/83b4fa90328e67809507 

Link | Top | Bottom

Next Page

1

Previous Page

New Post

Please login to post a response.