2023年6月24日 星期六

SC 表單中設計一個 [同上] 的 CheckBox,點擊打勾後,自動代入同上欄位的值

方法一:

例如:有兩個欄位

一個參加人姓名,一個繳款人姓名。輸入完參加人資料以後,有一個 CheckBox 打勾勾,同參加人,如果打勾的話,繳款人就不用重複輸入了,直接帶入參加人資料為繳款人資料。

這樣就額外加一個自訂欄位: same_check,欄位型態為CheckBox

然後在 Ajax Events 裡面,建立一個新的 Events:same_check_onClick,參數為:same_check

same_check 設定有一個值為"S"

在 Ajax Events same_check_onClick:

if ({same_check} == 'S') {

{payer_mem_ext_id} = {attender_mem_ext_id};

} else {

{payer_mem_ext_id} = "";

}

這一個方法,出來的效果比較理想。滑鼠一點擊CheckBox,如果是On,就會帶入值,如果Off,就會清空,這樣的效果較好。


方法二:

另一個以前設計的方法,是一個 Button,用 JavaScript 的方式完成。

Field:

增加一個 自訂 Field {same_addr_btn1}

JavaScript function sameaddress1()

$("select[name$='members_com_addr_country_id']" ).val($("select[name$='members_legal_addr_country_id']").val());

$("input[name$='members_com_addr_state']" ).val($("input[name$='members_legal_addr_state']").val());

$("input[name$='members_com_addr_city']" ).val($("input[name$='members_legal_addr_city']").val());

$("input[name$='members_com_addr_postcode']" ).val($("input[name$='members_legal_addr_postcode']").val());

$("input[name$='members_com_addr_street1']" ).val($("input[name$='members_legal_addr_street1']").val());

$("input[name$='members_com_addr_street2']" ).val($("input[name$='members_legal_addr_street2']").val());


Event OnLoad

{same_addr_btn1}="<button type='button' onclick='sameaddress1()'>Same Address</button>";

沒有留言:

張貼留言

如何判斷現在FORM是在 insert mode? 還是 update mode?

只要用  if (empty({primary_key})) 就可以知道是否為新增模式了。 如果 {promary_key} 是空白的,那麼就是在新增模式;反之,就是更新模式。 以上。