2016年9月2日 星期五

codecharge buttom on_click event

Button Control Reference

Server side event:

on_click

Occurs after the button has been clicked and the form is submitted. 
If the button appears in a record or editable grid form, record operations such as insert, update and delete occur after this event has been processed. 
In cases where the form does not have a Data Source, this event is used to perform post-submission operations such as sending emails messages based on the submitted information.

按鈕按了! ==> Form送出去了 ==> 執行本on click Event的程式 ==> 執行Insert/Update/Delete

 

2016年8月14日 星期日

Javascript 的物件加法要這樣加!

var form = document.getElementById("form");
form.orders_total2.value = parseInt(form.orders_total1.value) + parseInt(form.ship_fees.value);
form.pay_method.value="eCash";


如果沒有用parseInt(),就變成是字串String 的相加(串聯) !

喔!!!!


如何根據不同的結果,發出不同 的 Form?

form 的 action 用 javascript 動態決定。
假設你的form id是 form1

則你可以利用javascript語法  :  form1.action = "你要去的網頁.php" ;
                               form1.submit();

這樣的方法去動態改變要submit的地方

網頁讀取資料庫的值,以決定顯示的html內容



<script type="text/javascript">
window.onload=function(){
var form_name = document.getElementById('Contentquick_newmemapplyform');
if (form_name.pay_method.value=="eCash") {
document.getElementById("paybycash").style.display = "block";
document.getElementById("paybycard").style.display = "none";
} else {
document.getElementById("paybycash").style.display = "none";
document.getElementById("paybycard").style.display = "block";
}

};
</script>

使用 window.onload  event 來決定要顯示的 div

2016年7月3日 星期日

CodeCharge 修改登入資訊程式

原本的 CodeCharge 裡面內建有 Login 模組,設定在 Project 的 Setting 的 Security 模組裡面。

原先登入需輸入一個 Login Name, password,檢查帳號、密碼,通過就可以了。

但是,現在希望登入的帳號,可以接受  username、手機號碼、身分證字號

那就自己修改 CCLoginUser() 函數了。

CodeCharge 的物件Object 有 Panel 的指定

CodeCharge 裡面的物件指定,如果有 Panel ,記得 Panel 是透明的,可以跳過去

例如:

NavBar.ccp 是一個獨立可勘入的 Page,內有兩個 Panel : Panel1, Panel2
Panel1 是顯示未登入時的資訊
Panel2 是顯示已經登入時的資訊

Panel2 裡面有UserName 要顯示,

所以,程式中要指稱到 UserName,表示如下:

globale $NavBar;
$NavBar->UserName->SetValue("......");

如果以物件上下層的關係來看,中間有個 Panel2,
好像是這樣:

$NavBar->Panel2->UserName->GetValue();

其實是這樣:

$NavBar->UserName->GetValue();





2016年6月11日 星期六

CodeCharge: cannot connect to database

CodeChargeStudio : DataBase Error: Cannot connect to database MySQL
Databse Halted.

Database error: cannot connect to Database
MySQL Error
Session halted.

上兩周原本是Win7 的電腦被自動更新為 Win 10,原本擔心一些舊的AP不知道是否可以正常運作,例如CodeCharge等,結果試試,似乎還好。

前天,將原本舊的一個專案,原本運作都正常,就做了一些更新後,就上傳了。結果,產生了上述的錯誤!

搞了一整天,查不出原因。

後來,逐一比對 db_mysql.php 這檔案才發現,我不知道為什麼 db_mysql.php 是舊的,應該是 php 5.5以後,一些舊的 指令已經不能用了,mysql_pconnect() 必須改成:mysqli_connect() 等等。

手動的ftp方式,將新的 db_mysql.php 更新到伺服器上,就正常了!

註記在這裡。

註:
不是:是新的改成 mysqli_connect() 就不行了!
舊的可以!
將 舊的 db_mysql.php 改回去,蓋掉新的 db_mysql.php 就正常了!

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

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