TOP

[Javascript] RadioButton 切換選項時,同時變更顯示圖片

RadioButton 切換選項時,同時變更額外想要變更的圖片

VB.Net
<script language="javascript">
function changeRadioImg(radioBox) {
        var RB1 = document.getElementById('<%= rbList.ClientID %>');
        var radio = RB1.getElementsByTagName("input");
        var image = document.getElementById('Img');
        for (var i = 0; i < radio.length; i++)
          {
            if (radio[i].checked)
                {
                 image.src = "";
                }
            }
        }
</script>

<img id="Img" alt="Img"/>
<div class="abc" style="WIDTH: 770px;HEIGHT: 100px;overflow-x:scroll;text-align:center;vertical-align :middle;border-style:outset; border-width:1px">
<asp:RadioButtonList ID="rbList" runat="server" DataTextField="img" DataValueField="id"
        RepeatDirection="Horizontal" TextAlign="Left" DataTextFormatString="<img src='{0}/><br>">         </asp:RadioButtonList>
</div>

ClientScript.RegisterStartupScript(Me.GetType(), "changeRadioImg", "<script type='text/javascript'>changeRadioImg(document.getElementById('" + rbList.ClientID + "'));</script>")
TOP

[C#][ASP.NET]RadioButtonList 圖片選擇項目

一般RadioButtonList都是使是文字的方式來讓使用者選擇項目,這次遇到希望使用圖片來選擇項目的需求

VB.Net

<asp:RadioButtonList ID="rbList" runat="server" DataTextField="img" DataValueField="id"
         RepeatDirection="Horizontal" TextAlign="Left"
  DataTextFormatString="<img src='{0}'/><br>">                                                                                    
 </asp:RadioButtonList>

    Private Class ConfSettingItem
        Public Sub New(ByVal id As String, ByVal img As String, ByVal Value As String)
            Me.id = id
            Me.img = img
            Me.Value = Value
        End Sub
        Private _id As String
        Private _img As String
        Private _Value As String

        Public Property id() As String
            Get
                Return _id
            End Get
            Set(ByVal value As String)
                _id = value
            End Set
        End Property

        Public Property img() As String
            Get
                Return _img
            End Get
            Set(ByVal value As String)
                _img = value
            End Set
        End Property

        Public Property Value() As String
            Get
                Return _Value
            End Get
            Set(ByVal value As String)
                _Value = value
            End Set
        End Property

    End Class

     Dim infos As New List(Of ConfSettingItem)

     infos.Add(New ConfSettingItem(id, url, value))
     infos.Add(New ConfSettingItem(id, url, value))
     rbList.DataSource = infos
     rbList.DataBind()

以上方式也可以改直接使用ListItemCollection更為簡單

<asp:RadioButtonList ID="rbList" runat="server"  RepeatDirection="Horizontal" TextAlign="Left"
  DataTextFormatString="<img src='{0}'/><br>">                                                                                  
 </asp:RadioButtonList>

     Dim infos As New ListItemCollection()
     infos.Add(New ListItem(url, id))
     rbList.DataSource = infos
     rbList.DataBind()

C#

<asp:RadioButtonList ID="rbList" runat="server" DataTextField="img" DataValueField="id"
        RepeatDirection="Horizontal" TextAlign="Left"
         DataTextFormatString="<img src='{0}' />">                                                                                        </asp:RadioButtonList>

 private class ConfSettingItem
 {
    public string id { get; set; }
    public string img { get; set; }
    public string Value { get; set; }
 }

 List<ConfSettingItem> infos = new List<ConfSettingItem>
 {
  new ConfSettingItem{ id="", img="", Value=""},
  new ConfSettingItem{ id="", img="", Value=""},
 };

infos .Add(new ConfSettingItem { id = "", img = "", Value = "" });

 rbList.DataSource = infos;
 rbList.DataBind();
TOP

[Javascript] textbox 點擊時自動全選

使用者原本希望點擊button時就自動全選並且復製textbox內容,但因為瀏覽器的安全機制,只有IE可以做到,Firfox及chrome都沒有辨法做到。

所以改為點擊textbox時,就自動全選。
使用者在自已點選右鍵「復製」。

onfocus="this.select()" onMouseUp="return false"

<asp:TextBox ID="tb1" onfocus="this.select()" onMouseUp="return false" runat="server" ></asp:TextBox>
TOP

[JavaScript]Firefox onClick return false but it doesn't work

Firefox onClick return false but it doesn't work

問題:IE及Chorme使用onClick 當回傳false後就利用window.event.cancelBubble = true停止執行。

但在Firefox測試時發生,還是一樣執行接下來的事件。

因此在firefox時需變成使用    e.stopPropagation()停止執行。

if (window.event) //for IE
 {
  window.event.cancelBubble = true;
 }
 else //for Firefox
 {
    var e = arguments.callee.caller.arguments[0] || event;
    e.stopPropagation();
  }

資料來源:http://blog.darkthread.net/post-2008-06-26-stop-event-bubbling.aspx
TOP

[PHP] include其他php檔時,中文出現亂碼

利用mb_convert_encoding解決中文出現亂碼 的問題

$ABC = mb_convert_encoding($ABC, "UTF-8", "BIG5");
TOP

[PHP][轉貼]PHP內使用mysql相關語法

[轉貼]PHP內使用mysql相關語法

原文出處:http://austintodo.pixnet.net/blog/post/23821431-php---mysql-%E6%95%99%E5%AD%B8

這邊有個php mysql 教學的網站
http://www.php-mysql-tutorial.com/
用php+mysql也是行之有年了...
紀錄一下在php內怎麼使用mysql相關語法
More »
TOP

[PHP] [轉貼] PHP 分頁 函數

轉貼兩個不錯的PHP 分頁函數

(1)參考資料:http://blog.xuite.net/kinds/PHPandCSS/13159453

<?
//為了避免重復包含文件而造成錯誤,加了判斷函數是否存在的條件:
if(!function_exists(pageft)){
//定義函數pageft(),三個參數的含義為:
//$totle:資訊總數;
//$displaypg:每頁顯示資訊數,這裏設置預設是20;
//$url:分頁瀏灠中的鏈結,除了加入不同的查詢資訊"page"外的部分都與這個URL相同。
//   預設值本該設為本頁URL(即$_SERVER["REQUEST_URI"]),但設置預設值的右邊只能為常量,所以該預設值設為空字串,在函數內部再設置為本頁URL。
function pageft($totle,$displaypg=20,$url=''){
//定義幾個總體變數:
//$page:當前頁碼;
//$firstcount:(資料庫)查詢的起始項;
//$pagenav:頁面導航條代碼,函數內部並沒有將它輸出;
//$_SERVER:讀取本頁URL"$_SERVER["REQUEST_URI"]"所必須。
global $page,$firstcount,$pagenav,$_SERVER;
//為使函數外部可以訪問這裏的"$displaypg",將它也設為總體變數。注意一個變數重新定義為總體變數後,原值被覆蓋,所以這裏給它重新賦值。
$GLOBALS["displaypg"]=$displaypg;
if(!$page) $page=1;
//如果$url使用預設,即空值,則賦值為本頁URL:
if(!$url){ $url=$_SERVER["REQUEST_URI"];}
//URL分析:
$parse_url=parse_url($url);
$url_query=$parse_url["query"]; //單獨取出URL的查詢字串
if($url_query){
//因為URL中可能包含了頁碼資訊,我們要把它去掉,以便加入新的頁碼資訊。
//這裏用到了正則運算式,請參考本站的相關文章
$url_query=ereg_replace("(^|&)page=$page","",$url_query);
//將處理後的URL的查詢字串替換原來的URL的查詢字串:
$url=str_replace($parse_url["query"],$url_query,$url);

//在URL後加page查詢資訊,但待賦值:
if($url_query) $url.="&page"; else $url.="page";
}else {
$url.="?page";
}
頁碼計算:
$lastpg=ceil($totle/$displaypg); //最後頁,也是總頁數
$page=min($lastpg,$page);
$prepg=$page-1; //上一頁
$nextpg=($page==$lastpg ? 0 : $page+1); //下一頁
$firstcount=($page-1)*$displaypg;
//開始分頁導航條代碼:
$pagenav="顯示第 <B>".($totle?($firstcount+1):0)."</B>-<B>".min($firstcount+$displaypg,$totle)."</B> 條記錄,共 $totle 條記錄<BR>";
//如果只有一頁則跳出函數:
if($lastpg<=1) return false;
$pagenav.=" <a href='$url=1'>首頁</a> ";
if($prepg) $pagenav.=" <a href='$url=$prepg'>前頁</a> "; else $pagenav.=" 前頁 ";
if($nextpg) $pagenav.=" <a href='$url=$nextpg'>後頁</a> "; else $pagenav.=" 後頁 ";
$pagenav.=" <a href='$url=$lastpg'>尾頁</a> ";
//下拉跳轉列表,迴圈列出所有頁碼:
$pagenav.=" 到第 <select name='topage' size='1' onchange='window.location=\"$url=\"+this.value'>\n";
for($i=1;$i<=$lastpg;$i++){
if($i==$page) $pagenav.="<option value='$i' selected>$i</option>\n";
else $pagenav.="<option value='$i'>$i</option>\n";
}
$pagenav.="</select> 頁,共 $lastpg 頁";
}
}
?>
好,分頁函數已經寫好了,保存為"pageft.php",要分頁時就包含它並調用pageft()函數。不過它並沒有輸出任何東西,但產生幾個總體變數供使用:$firstcount、$displaypg、$pagenav。


下面舉例說明它的用法:




<?
//(前面程式略)
include("pageft.php"); //包含"pageft.php"文件
//取得總資訊數
$result=mysql_query("select * from mytable");
$total=mysql_num_rows($result);
//調用pageft(),每頁顯示10條資訊(使用預設的20時,可以省略此參數),使用本頁URL(預設,所以省略掉)。
pageft($total,10);
//現在產生的總體變數就派上用場了:
$result=mysql_query("select * from mytable limit $firstcount,$displaypg ");
while($row=mysql_fetch_array($result)){
//(列表內容略)
}
//輸出分頁導航條代碼:
echo $pagenav;
//(後面程式略)
?>

備註:
發現文章有點問題,無法正確顯示後面分頁,因為程式根本無法獲取$page變數,解決方法:
include("pageft.php"); //包含“pageft.php”文件
$page=$_GET['page'];//加上這句即可


又一個錯誤,當數據記錄為0時,php報錯,加入以下代碼:

$total=mysql_num_rows($result);
if ($total==0 )die("暫時沒有資訊!");//如果記錄為0


參考資料:http://big5.china.com/gate/big5/zehao123.blog.china.com/201103/7878436.html

(2)參考資料:http://peeress.pixnet.net/blog/post/27760247
潔西卡 寫的分頁函數。
Call sample:
#計算筆數先
$offset = $_REQUEST["offset"] == "" ? 0 ; $_REQUEST["offset"];
$mrows = $conn->Execute("select count(a_account) as T from $TABLE_NAME $WHERE_STR ");
$mrow = $mrows->FetchObject();
$numrows = $mrow->T;
$pagestr = pages($numrows, $offset, $num_of_rows_per_page,"type=$type","no9", 2);
print $pagestr; // 印出分頁
$rows = $conn->SelectLimit($sql,$num_of_rows_per_page,$offset);
while ($row = $rows->fetchRow()) {
// 略 這裡是SHOW 資料
}
print $pagestr; // 印出分頁


結束
############# 下面是函數 弄成一個INCLUDE FILE 吧 ############
function pages($total_rows, $offset, $limit_row,$url_str='', $class="page", $mod="2") {
$current_page = ($offset/$limit_row) + 1;
$total_pages = ceil($total_rows/$limit_row);
if ($mod == "1") {
$current_page = ($offset/$limit_row) + 1;
$total_pages = ceil($total_rows/$limit_row);
$str2 = "";
if ($offset != 0) $str2 .="| <a href=\"$PHP_SELF?offset=0&$url_str\" class=\"$class\">FirstPage</a> | ";
if (($offset - $limit_row) >= 0) {
$prev_offset = $offset - $limit_row;
$str2 .= " <a href=\"$PHP_SELF?offset=$prev_offset&$url_str\" class=\"$class\">Previous</a> | ";
}
$str2 .= " [ $current_page / $total_pages ] ";
$last_row = (($total_pages-1) * $limit_row);
if (($offset + $limit_row) < $total_rows) {
$next_offset = $offset + $limit_row;
$str2 .= "<a href=\"$PHP_SELF?offset=$next_offset&$url_str\" class=\"$class\">NEXT</a> | ";
$str2 .= "<a href=\"$PHP_SELF?offset=$last_row&$url_str\" class=\"$class\">LastPage</a> | ";
}
}
elseif ($mod == "2") {

$str2 = "";
$i = ceil($current_page / 10 ) - 1 ;

if ($i >= 1 ) {
$of = max(0, $offset - ( $limit_row * 10)) ;
$str2.= "<a href=\"$PHP_SELF?offset=$of&$url_str\" class=\"$class\">上10頁</a> ";
}
$a=min($total_pages, ($i*10)+10);
for ($i = 1+($i*10); $i <= $a; $i++) {
$of = $i * $limit_row - $limit_row;
if ($i == $current_page)
$str2.= "[ $i ] ";
else
$str2.= "<a href=\"$PHP_SELF?offset=$of&$url_str\" class=\"$class\">$i</a> ";
}
if ($i < $total_pages ) {

$of = min($total_rows, $offset + ( $limit_row * 10));
$str2.= "<a href=\"$PHP_SELF?offset=$of&$url_str\" class=\"$class\">下10頁</a>";
}
}
else {
$str2 = "Page:";
for ($i =1; $i <= $total_pages; $i++) {
$of = $i * $limit_row - $limit_row;
if ($i == $current_page)
$str2.= "[ $i ] ";
else
$str2.= "<a href=\"$PHP_SELF?offset=$of&$url_str\" class=\"$class\">$i</a> ";
}

}
return "<span class=$class>$str2</span>";
}

備註:
  • $conn 是 adodb 的object
    如果你沒有使用adodb
    你應該是要改成

    $mrows = $conn->Execute("select count(a_account) as T from $TABLE_NAME $WHERE_STR ");
    $mrow = $mrows->FetchObject();
    $numrows = $mrow->T;
    上面這三行程式.

    你要改成下面


    $mrows = mysql_query("select count(a_account) as T from $TABLE_NAME $WHERE_STR);
    $mrow = mysql_fetch_object($mrow);
    $numrows = $mrow->T;
  • $mrow = mysql_fetch_object($mrow); 裡面是放$mrows