分類: PHP, JavaScript, Sql
網頁上改為向下移動
//網上找到 jquery 在網頁時,將 Enter 鍵改為 Tab 的作用
$("input").not( $(":button") ).keypress(function (evt) {
if (evt.keyCode == 13) {
if ($(this).attr("type") !== 'submit'){
var fields = $(this).parents('form:eq(0),body').find('button, input, textarea, select');
var index = fields.index( this );
if ( index > -1 && ( index + 1 ) < fields.length ) {
fields.eq( index + 1 ).focus();
}
$(this).blur();
return false;
}
}
});
jquery 中,id 名稱有中括號,如何選擇
id 名稱有中括號,直接用 $("[id='id名稱']") 找取,記得要用單引號括起來
var id1 = "tseat[" + key +"]" ;
var idval = key + " " + item["name"][key];
$("[id='" + id1 +"']").text(idval);
var id2 = "tscore[" + key + "]";
$("[id='" + id2 +"']").val(item["score"][key]);
jquery 使用 ajax 傳回 data 用 json,後端用 php 取得字串與陣列的用法
jquery 使用 ajax 傳回 data 用 json,後端用 php 取得字串與陣列的用法
$test1 = "test";
$test2 = array("a1"=>"111","a2"=>"222");
php用 json_encode(array("data1"=>"$test1"));
網路上這樣用,那在資料是字串時沒有問題,在 ajax 經過 var item = JSON.parse(data);用 item["data1"] 可以讀到傳回資料
(閱讀全文)
php 對數字 0 的判斷
在匯入分數欄位時,本來的判斷方式是 if($score <> "") 本來以為它只要有值就會執行,可是再碰到 0 時 , 因為 php 對於 空值 或是 0 都是 false ,所以 0 也不處理,後來想到用 if(is_numeric($score)) 判斷就可以了,它的意思是只要是數值,或是數值字串都可以,所以 0 也可以
Line notify 用 php 與 curl
- 在使用 Line Notify 時 , 使用者產生(連動) Code 後,用另一網頁產生 Token 時一直失敗,後來將傳回 Code 與 產生 Token 用用一網頁進行竟然成功了,也就是將 redirect_uri 的網頁同時連結產生 Token 放在同一網頁,一次同時進行
- 在用 Line Notify 同時傳送多人時,只要使用 curl_exec($ch)迥圈就會中斷,只能傳送一筆訊息,後來查看 Google 時,有人可以傳送多人訊息,看的結果,它是將整個 curl 連結網頁寫成一個函數再每次呼叫,就不會中斷迴圈了
- Line message 用 httP://www.fhsh.tp.edu.tw 網址的方式,會顯示超連結的方式,而用 http://203.72.59.3 ip 的方式,不一定會顯示超連結
jquery append 無效
在使用 jquery append 增加 <input type='file' ... > 時,一直有增加顯示在 html 網頁中,但是送出時一直沒有收到,後來測試結果發現跟 <table>位置有關,本來網頁的寫法是 <table ...><form ...> 後來改成 <form ...><table ...> 就可以了,所以用 append 增加表單元素時必須將 <form> 宣告在 <table> 的前面,為什麼不知道
phpExcel 無法讀取 xlsx
如果無法讀取 xlsx 檔,或顯示無法開啟 *.tmp 檔,而且已經照說明如下設定,那麼你可以看看是不是 temp 目錄沒有權限
- PHP version 5.2.0 or higher
- PHP extension php_zip enabled
- PHP extension php_xml enabled
- PHP extension php_gd2 enabled (if not compiled in)
我在使用 phpExcel 時出現無法讀取 xlsx 檔,出現一些錯誤訊息,顯示找不到 *.tmp 檔,我用的是 win2008 + IIs , 將 \windows\temp 目錄加入 everyone 群組,給予 完全控制 權限就可以用了,至於有沒有安全問題就不知道了
javascript 用 regex 取出所要字串
字串 abcd[0102] 想取出 0102
- 方法一:用 substr var rc = "abcd[0102]".substr(5,4);
- 方法二:用 regex var arr_rc = /^.*\[(\d+)\].*/.exec("abcd[0102]"); //取出符合我字串,第一個本身,第二個(),陣列從 0 開始
var rc = arr_rc[1];
方法一固定從第六位取四位,0為第一位
方法二利用 partten 取出 [] 內的數字,不管前面有幾位都可以
php glob 的應用
目錄相片圖檔內的檔名除了學號檔名,副檔名有 png,jpg 而且大小寫混用,在 linux 提取有點困難,後來想到用 glob ,而且支援萬用字元 , 只要用 $array_name = glob("學號.*") 就會找回所有 學號檔名的陣列檔名,只要秀第一個 $arr_name[0] 檔案就可以了
在 win7 使用 php5.3 move_uploaded_file
在 win7 使用 php5.3 move_uploaded_file 函數時,發現上傳檔案不會接受父系權限,所以 file_exists 函數都傳回 False,因為沒有讀取權限,後來改用 is_uploaded_file 判斷是上傳檔案 , 在用 copy 指令,才可以將
父系權限繼承下來 , 這樣才有權限下載 ,真不知是什麼回事,在 win2003 server 用
move_uploaded_file 不會有這個問題