JavaScript Reference Select and Option objects 用法介紹

在網頁裡面用 Select 是很常遇到的,之前也寫了一篇如何利用 jQuery 動態增加 option 或取值jQuery 部份就不介紹了,那是需要搭配 jQuery Plugin: Select box manipulation,今天要介紹的是如何用 javascript 動態取值或者是增加 option 選項。因為我發現有使用者直接利用 innerHtml 的方式來把資料塞入到 Select 裡面,雖然 FireFoxChrome 都可以正常運作,但是遇到 IE 還是沒辦法動。

如何取得 select element 底下很多方法可以取得 select element: 1. 透過 form name + element name

document.myform.selectname
2. 透過 form name + element 陣列(注意看 select 是位在 form element index 值多少)
document.myform.elements
3. 透過獨一無二的 ID
document.getElementById("selectid")
[Read More]

推薦一本書籍 Master Mobile Web Apps with jQuery Mobile

master-mobile-web-apps-with-jqm 在這裡跟大家推薦一本國外的書籍,也就是 Elated.com 網站作者 Matt Doyle 推出的一本新書 Master Mobile Web Apps with jQuery Mobile,此作者也有推出 PHPPhotoshop 的書籍,本人相當佩服有美工天份又會寫程式人才。然而現在當紅的 Mobile Device,大家相繼為了 iOS, Android 或其他手持式裝置撰寫 Web 介面,目前網路上大家推的其中一套就是 jQuery Mobile,而我呢,正在摸索另一套強大的 Web App Framework: Sencha Touch,功能來比的話,個人覺得 Sencha Touch 優勢比較多,之後有機會再來寫一系列的 Sencha Touch 文章。此書有提供目錄可以參考,該作者會教大家如何搭配 PHP 跟 MySQL 結合 jQuery Mobile API 來撰寫程式,書籍應該是蠻完整的,目前售價美金19元,如果有興趣的人可以上網下單。

無痛安裝 NodeJS 和 Node Framework Express

nodejs-light

NodeJS 是目前當紅的 Web 2.0 技術,去年 COSCUP 2010 就有 KKBOX 資深工程師 ericpi 來探討這個議題,NodeJS 背後使用了 V8 引擎為基礎,沒看過用純 JS 來當 Server-Side 吧,台灣很紅的 Plurk 也是大量使用 NodeJS,然而每開發一種語言,就會想開始找搭配的 Framework,那就首推 Node Framework Express 來撰寫程式,本篇是要介紹如何在 Ubuntu 10.10 無痛安裝 nodejs + express。

下載 Nodejs 原始碼 直接到

官網下載 Stable 的版本吧,目前是 node-v0.4.10.tar.gz,也可以先看看 API Document

# wget http://nodejs.org/dist/node-v0.4.10.tar.gz
[Read More]

PHP function 參數 default value

2011.08.06 Update: 感謝 jaceju 指正筆誤 自己定義 PHP Function 的時候,假設該函式有1個參數,您可以傳入該參數或者是不傳,但是函式裡面如何判斷是否有傳入該參數呢?先看看底下例子: function test($arg_1 = NULL) { // 判斷 $arg_1 參數是否傳入 $arg_1 = $arg_1 || 'test'; echo $arg_1; } 你會發現上面結果會是 1,而不是 test,大家會懷疑為什麼這樣寫不行呢,那是因為 || 是 boolean operators,他只會 return true 或是 false,而不是回傳 string,如果想這這樣寫,大概可以用 javascript 或 perl 語言來寫,javascript 可以參考之前的文章 [Javascript] 在函數裡設定參數預設值,然而 PHP 的正確寫法要用 ?: 來取代 function test($arg_1 = NULL) { // 判斷 $arg_1 參數是否傳入 $arg_1 = (isset($arg_1)) ? $arg_1 : 'test'; // 或者是 $arg_1 = $arg_1 ? [Read More]

你不可不知的 JSON 基本介紹

還不知道 JSON 是什麼嘛?本篇教學會帶您瞭解 JSON 在網站上的應用,以及運作流程跟使用 PHPJavaScript 來處理 JSON。假如您現在的工作就是網站設計師,相信一定聽過 JSON,但是什麼是 JSON,它能夠做什麼,及您能透過它在網站上做到哪些事情呢?

透過本篇介紹您可以瞭解基本的 JSON,底下會列出本篇會提到的重點:

  • 什麼是 JSON
  • JSON 應用在哪些地方
  • 如何建立 JSON 字串
  • 一個簡單的 JSON 範例
  • JSON vs XML
  • 如何透過 PHP 及 JavaScript 使用 JSON

什麼是 JSON

JSON 是個以純文字為基底去儲存和傳送簡單結構資料,你可以透過特定的格式去儲存任何資料(字串,數字,陣列,物件),也可以透過物件或陣列來傳送較複雜的資料。一旦建立了您的 JSON 資料,就可以非常簡單的跟其他程式溝通或交換資料,因為 JSON 就只是個純文字格式。

JSON 的優點如下:

  • 相容性高
  • 格式容易瞭解,閱讀及修改方便
  • 支援許多資料格式 (number,string,booleans,nulls,array,associative array)
  • 許多程式都支援函式庫讀取或修改 JSON 資料
[Read More]

[網站] 好站連結 (八) Android, javascript, CSS, PHP, Perl, FreeBSD, Linux

PHP 9 Useful PHP Functions and Features You Need to Know CSS Tips to Code Better CSS in your Projects Html5 A ROCK-SOLID DEFAULT FOR HTML5 AWESOME( Html5 模板) The Official Guide to HTML5 Boilerplate Create a Sticky Note Effect in 5 Easy Steps with CSS3 and HTML5 Git: git-server-的兩三事 Pro Git - Table of Contents 簡體中文版 Git 初學筆記 - 實作測試 | Tsung’s Blog Javascript: Learning JavaScript and DOM with Console 淺談 JavaScript 編程語言的編碼規範 Creating photo gallery using jQuery and VisualLightBox Importing multiple RSS feeds – using newsWidget (jQuery) Evolution of Script Loading Global eval. [Read More]

2011 OSDC Day 1 筆記

Update: 補上 OSDC 紀錄影片 2011.06.26 今年很高興可以北上參加 OSDC 2011 (Open Source Developers Conference),由於之前都在南部唸書及工作,沒有機會北上參加聚會,現在人在新竹,終於有機會可以參加了,雖然早上六點就要起床趕電車了,不過到現場聽課感覺就是不同,也可以認識很多新朋友,底下來紀錄上課筆記 微軟與 jQuery 社群的親密接觸 講者: Eric Shangkuan (Microsoft) Slide: 微軟與 jQuery 社群的親密接觸 這是 OSDC 第一場演講,早上九點就開始了,雖然人不多,但是蠻多人還是為了講者而來,首先介紹什麼是 jQuery,以及 jQuery 一些基本用法,像是 CSS selector,如何在 Windows Visual Studio 上面開發 jQuery 及撰寫 plugin 整合進去 ASP.Net,最後介紹三個不錯用的 jQuery Plugin: Templeate, Datalink, Globalzation。 Templeate: 這搭配 Facebook api 可以直接做個人頁面,請參考這裡 Globalzation: 前端多國語系實做 Datalink: 可以快速處理 form,利用 object 跟 jQuery 搭配 如果要研究上述三個 jQuery Plugin 可以參考底下: jQuery Datalink: https://github.com/jquery/jquery-datalink jQuery Templeate: https://github.com/jquery/jquery-tmpl jQuery Globalzation: https://github. [Read More]

用 js 或 php 判斷 Android 手機上網

之前寫了一篇 jQuery 偵測瀏覽器版本, 作業系統(OS detection),這次可以來加上 Android 手機版本,其實就是分析瀏覽器 User Agent 來達到目的,底下分享 PHP 跟 Javascript 作法

PHP 方法

if(stripos($_SERVER['HTTP_USER_AGENT'],'Android') !== false) 
{
	header('Location: http://android.xxx.com');
	exit();
}

Javascript 方法

if(navigator.userAgent.match(/Android/i))
{
	window.location = 'http://android.xxx.com';
}

Apache .htaccess 方法 用

Apache mod rewrite 方法

RewriteCond %{HTTP_USER_AGENT} ^.*Android.*$
RewriteRule ^(.*)$ http://android.xxx.com [R=301]

利用 jQuery 動態改變網站 CSS

繼前一篇所寫的『jQuery 偵測瀏覽器版本, 作業系統(OS detection)』,當我們遇到手機上網使用者,可以透過 javascript 來判斷目前使用者瀏覽器以及 OS,iPad user agent 如下: Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10 我們必須分析上面字串來判斷是否用手機上網,手機網頁跟PC網頁大小一定有所不同,透過底下兩個方法來改變瀏覽器的畫面 自動導向手機網頁 動態改變 CSS 兩個方法都不錯,如果決定使用前者,建議在 Server side 那邊做判斷,底下先列出 javascript, PHP, .htaccess 判斷檢查 The JavaScript var isiPad = navigator.userAgent.match(/iPad/i) != null; The PHP $isiPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad'); The .htaccess RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$ RewriteRule ^(.*)$ http://ipad.yourdomain.com [R=301] 如果您在前端做判斷,那就使用 jQuery 方式: if(jQuery){ jQuery("body").addClass("jq"); } CSS 檔案: . [Read More]

jQuery 偵測瀏覽器版本, 作業系統(OS detection)

update: 簡易版的偵測 iphone/ipod time: 23:32 jQuery 真是一個相當方便的 javascript framework,最近在弄嵌入式系統時候需要去偵測瀏覽器 user agent,就類似下此訊息 “Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)",原本打算直接用 C 語言內建的 getenv(“HTTP_USER_AGENT”) 來做掉,不過後來想想,直接在 UI 那邊,利用 jQuery 來偵測瀏覽器版本、系統OS,這樣就解決了,上網找到有人寫了 jQuery browser and OS detection plugin,利用底下語法就可以知道一些 user agent 裡面的資料


    

[Read More]