Thứ Ba, 11 tháng 5, 2010

Các vấn đề về Simple Popup Using In-Page DIV

This simplest example uses an existing DIV defined on the page as the popup window. By default, the DIV is hidden. The function is used to treat the DIV as a popup, show it, and make it auto-hide if anything else is clicked.

Click Here To Show DIV
<view/hide code>

<div id="simplediv" style="background-color:yellow;border:1px solid black;display:none;width:200px;height:200px;">Click anywhere in the document to auto-close me</div>

<a href="#" onclick="'simplediv');return false;">Click Here To Show DIV</a>

Simple Popup With Auto-Created DIV

For this example, there is no DIV defined anywhere on the page for the popup. The library will automatically create one and populate its contents from what is passed into the function. Some styles to be applied to the created DIV are also passed, so it stands out.

Click Here To Show DIV
<view/hide code>

<a href="#" onclick=",null,null,{'content':'This DIV was created dynamically!',


'style':{'border':'1px solid black','backgroundColor':'cyan'}});return false;">Click Here To Show DIV</a>

Styling Popups With Class Names

It's possible to set the classname that will be assigned to a generated DIV by passing it a 'className' value. This way, you can have multiple popups use the same code, but have different styles based on their class name.

Click Here To Show DIV with className popupClass1
Click Here To Show DIV with className popupClass2
<view/hide code>

<style type="text/css">

.popupClass1 { width:100px;height:300px;background-color:red; }

.popupClass2 { width:300px;height:100px;background-color:green; }


<a href="#" onclick=",null,null,{'className':'popupClass1'});return false;">Click Here To Show DIV with className popupClass1</a>


<a href="#" onclick=",null,null,{'className':'popupClass2'});return false;">Click Here To Show DIV with className popupClass2</a>

Using A Popup Object

The function is a shortcut method to quickly and easily show a popup. If you need more control, or if you'll be repeatedly referencing the same popup, you can create a Popup object to be used. Internally, creates a Popup object automatically and the auto-created DIV object is destroyed when it is hidden. This avoids many DIV objects being created and left lying around. When you create a Popup object, the DIV object is not destroyed because you may reuse the object many times.

Click Here To Show Popup Object
<view/hide code>

<script type="text/javascript">

var popup1 = new Popup();

popup1.content = "This is the content of the DIV"; = {'border':'3px solid black','backgroundColor':'white'};


<a href="#" onclick=";return false;">Click Here To Show Popup Object</a>

Disabling Auto-Hide

By default, popups are "auto-hide" which means a mouse click anywhere on the page outside of the popup will automatically hide it. If you don't want this behavior, you can disable this option. Your code should then provide a way to close the popup manually, or it should close itself somehow. This example also illustrates the "ref" property of each popup, which contains a string which can be used in any javascript call to reference the object itself.

Click Here To Show Popup Object
<view/hide code>

<script type="text/javascript">

var popup2 = new Popup();

popup2.autoHide = false;

popup2.content = 'This DIV will not close automatically!<br><br><a href="#" onclick="'+popup2.ref+'.hide();return false;">Click here to close</a>';


popup2.height=200; = {'border':'3px solid black','backgroundColor':'yellow'};


<a href="#" onclick=";return false;">Click Here To Show Popup Object</a>

Positioning The Popup

By default, popups will be centered within the user's viewport, but there are a number of positioning options available to place the popup exactly where you wish, relative to a reference object on the page. The examples below illustrate a variety of positioning options. See the documentation for all positioning options. Note that the examples below also set constrainToScreen=true so the popup will always stay within the viewport.

Reference Box

In these examples, 'position' is the ID of the cyan popup, and 'reference' is the ID of the yellow box above. If the position of the box would put it off the screen, then it will be moved to fit.'position','reference','above adjacent-left',{'constrainToScreen':true});'position','reference','top left',{'constrainToScreen':true});'position','reference','center center',{'constrainToScreen':true});'position','reference','bottom right',{'constrainToScreen':true});'position','reference','below adjacent-right',{'constrainToScreen':true});

You can also supply a value for offsetTop and/or offsetLeft, to move the position a certain distance away from its calculated position. Once again, if the position would put it off the screen, it will be automatically moved to fit on the screen.'position','reference','center center',{'constrainToScreen':true,'offsetTop':-200});'position','reference','center center',{'constrainToScreen':true,'offsetTop':500,'offsetLeft':500});

If you position relative to the document itself and constrain to the screen, you can put a popup in any corner of the user's viewport.'position',Screen.getBody(),'top left',{'constrainToScreen':true});'position',Screen.getBody(),'top right',{'constrainToScreen':true});'position',Screen.getBody(),'bottom left',{'constrainToScreen':true});'position',Screen.getBody(),'bottom right',{'constrainToScreen':true});

Using positioning relative to a form input would allow you to pop up a helper to populate the field when it gets focus, for example:

Top of Form


Bottom of Form

<view/hide code>

<div id="helper" style="background-color:yellow;border:1px solid black;display:none;padding:2px;"></div>

<script type="text/javascript">

var helperPopup = new Popup('helper'); // Pass an ID to link with an existing DIV in page

helperPopup.autoHide = false;

helperPopup.position = "below right";

helperPopup.constrainToScreen = false;


<form name="testform" action="">

Name: <input name="fullname" value="" size="25" title="Enter Your Full Name"

onFocus="{'reference':this,'content':this.title})" onBlur="helperPopup.hide()">


Covers Select Boxes Automatically

A "feature"/bug of IE on Windows is that operating system controls like SELECT boxes, etc will show through positioned DIV's regardless of z-index settings. This can be fixed by inserting an iframe into the page under the DIV, with exactly the same position and dimensions, which acts to "mask" the controls. This is done automatically by the library, and only on Windows systems running IE.

Show a over the select This is a test select box
<view/hide code>

<a href="#"

onclick=",this,'center adjacent-right',{'content':'This should show over the select','style':{'border':'1px solid black','backgroundColor':'yellow'}});return false;">Show a over the select</a>

<select name="overselect"><option value="x">This is a test select box</option></select>

Modal Popups

A "modal" popup can be simulated by covering the main document with a semi-transparent layer which prevents the user from interacting with it until the popup is dismissed. The color and transparency of the "screen" can be configured, of course.

Show Modal Popup
Show Modal Popup With A Custom Screen
<view/hide code>

<div id="modal" style="border:3px solid black; background-color:#9999ff; padding:25px; font-size:150%; text-align:center; display:none;">

This is a modal popup!<br><br>

<input type="button" value="OK" onClick="Popup.hide('modal')">


<a href="#" onclick="Popup.showModal('modal');return false;">Show Modal Popup</a>


<a href="#" onclick="Popup.showModal('modal',null,null,{'screenColor':'#99ff99','screenOpacity':.6});return false;">Show Modal Popup With A Custom Screen</a>

Chủ Nhật, 9 tháng 5, 2010

PHP: Insert Data Into MySQL Table Using An Array

Inserts the values of an array into a table. Also supports specifying if a specific field needs to be encoded using PASSWORD()
Table: Name of table to insert into
Data: array of $field->$value of new data
Password Field: Which field in the data array needs to be surrounded with PASSWORD() (optional)

function mysql_insert_array($table, $data, $password_field = "") {
foreach ($data as $field=>$value) {
$fields[] = '`' . $field . '`';
if ($field == $password_field) {
$values[] = "PASSWORD('" . mysql_real_escape_string($value) . "')";
} else {
$values[] = "'" . mysql_real_escape_string($value) . "'";
$field_list = join(',', $fields);
$value_list = join(', ', $values);
$query = "INSERT INTO `" . $table . "` (" . $field_list . ") VALUES (" . $value_list . ")";
return $query;

PHP: Update MySQL Table Using An Array

Table: Name of table to update
Data: array of $field->$value with new values
Id Field: Name of field to use as ID field
Id Value: Value of ID field

function mysql_update_array($table, $data, $id_field, $id_value) {
foreach ($data as $field=>$value) {
$fields[] = sprintf("`%s` = '%s'", $field, mysql_real_escape_string($value));
$field_list = join(',', $fields);

$query = sprintf("UPDATE `%s` SET %s WHERE `%s` = %s", $table, $field_list, $id_field, intval($id_value));

return $query;

Thứ Tư, 5 tháng 5, 2010

Usb Flash Disk – Hệ điều hành nhận nhưng không truy xuất

Pan 2: Cắm usb flash disk vào máy, hệ điều hành sẽ nhận ra và hiện ổ đĩa nhưng khi ta truy xuất vào ổ đĩa này thì hệ điều hành sẽ báo lỗi.


Hoặc vào xem được file, folder nhưng không xóa, edit, copy… nói chung là không làm gì được cả.

1. Do lỗi firmware:

- Bệnh này rất thường xảy ra, đối với usb flash disk và cả đối với máy nghe nhạc mp3, mp4… cách xử lý thì hòan toàn giống nhau đó là nạp lại firmware.

usbest-toolTool nạp lại firmware của dòng ic USBest

- Việc nạp lại firmware này yêu cầu phải xác định usb flash, mp3, mp4 của mình xài ic điều khiển nào (tháo vỏ ra coi) rồi dùng đúng chương trình của ic đó để nạp lại (không có tool hoặc chip lạ quá thì phải search trên mạng hoặc post bài vô các forum chuyên về vấn đề này mà nhờ tìm giúp).

- Quá trình nạp lại firmware gần giống như ta “low level format” ổ đĩa cứng. Tôi sẽ có các bài viết hướng dẫn riêng cho từng lọai chíp thông dụng. CÒn các chip khác thì tương tự, khi đã có kinh nghiệm rồi thì chỉ cần có tool là có thể dùng được ngay thôi.

2. Link download một số tool nạp lại firmware cho usb:

Các tool khác có thể tìm thêm tại:

Hoặc có thể post yêu cầu nhờ tìm giúp

3. Do lỗi chip nhớ (flash):

- Nếu đã dùng tool đề nạp lại firmware mà vẫn không được, hoặc tool báo lỗi chip nhớ không có hoặc không hổ trợ (No/Un supported Flash). Ta nên hàn lại chân của chip nhớ (flash) rồi thử lại. Nếu vẫn thất bại thì chip nhớ (flash) đã bị lỗi. Chí còn cách thay chip nhớ khác mà thôi.


- Dĩ nhiên, khi thay chip nhớ khác ta có thể thay khác dung lượng và nạp lại firmware là có thể hoặt động bình thường.


Lê Quang Vinh

Nguồn tham khảo:

- Các bài viết về USB của anh Hoàng Trọng Nghĩa – cung cấp cho forum

Từ khóa: disk · flash · Repair · usb