以下為本站文章分類清單

  1. AJAXspacer
  2. ASPspacer
  3. CSSspacer
  4. Javascriptspacer
  5. Windows 應用程式spacer
  6. 網頁設計
  7. 評論、短文、雜文spacer
  8. 版主spacer
  9. 最新回應spacer

以下為本頁本文內容

解決 AJAX 一定會遇到的 90 個問題

 

php 程式勘誤下載

書附光碟:

這篇無內容,開在這裡,用來回覆讀者問題,讀者留言時,不能使用 HTML 語法,所有 HTML 標籤都會轉成一般文字,所以各位不用費心把 < 轉成 &lt;

AJAX-GB

 

 

卜維丰 6/12 07'

lastUpdate : 4/18 08'

以下為文章回應區

同意轉載,不過麻煩看一下轉載需知

Itamar Serpa Fernandes   2017/11/12 上午 07:45:00

Hi! I've been reading your website for a while now and finally got the courage to go
ahead and give you a shout out from Porter Tx!
Just wanted to say keep up the excellent work!

forum.cashtactics.net   2017/11/12 上午 03:22:00

Hi, Neat post. There is a problem with your website in web explorer,
would check this? IE still is the market leader and a good component of folks will omit your excellent writing because of this problem.

Umanizzare presídios   2017/11/11 上午 10:50:00

We're a group of volunteers and starting a brand new scheme
in our community. Your web site offered us with useful
info to work on. You have performed a formidable activity and our whole group will probably be thankful to
you.

Lelio Vieira Carneiro Junior   2017/11/10 上午 08:03:00

I've learn a few excellent stuff here. Certainly worth bookmarking for revisiting.
I surprise how a lot attempt you set to make the sort of fantastic informative web
site.

Why is my Achilles tendon burning?   2017/8/4 上午 11:39:00

Everyone loves it when folks come together and share thoughts.
Great blog, continue the good work!

How long does Achilles tendonitis last for?   2017/7/28 下午 09:58:00

Wonderful blog! I found it while browsing on Yahoo News.
Do you have any suggestions on how to get listed in Yahoo News?
I've been trying for a while but I never seem to
get there! Cheers

Can you stretch to get taller?   2017/7/27 下午 11:44:00

Amazing! Its in fact remarkable article, I have got much clear idea about from this piece of writing.

How do you get Achilles tendonitis?   2017/7/15 下午 06:37:00

Very good site you have here but I was wondering if you knew of any discussion boards that cover the
same topics discussed here? I'd really love to be a part of online community where I
can get feed-back from other experienced people that share the same interest.

If you have any recommendations, please let me know. Many thanks!

foot pain map   2017/6/21 下午 06:35:00

Just what I was searching for, thanks for putting up.

   2017/5/19 上午 09:23:00

I used to be recommended this blog through my cousin. I'm not sure whether this
put up is written by way of him as no one else realize such
exact about my trouble. You're wonderful! Thank you!

   2017/5/8 上午 06:51:00

First of all I want to say excellent blog! I
had a quick question that I'd like to ask if you
do not mind. I was curious to find out how you center
yourself and clear your mind before writing. I have had trouble clearing my thoughts in getting my ideas
out there. I truly do take pleasure in writing but it just seems like the first
10 to 15 minutes tend to be wasted just trying to figure
out how to begin. Any recommendations or hints? Thanks!

manicure   2017/5/3 下午 03:25:00

Aw, this was an incredibly good post. Taking the time
and actual effort to produce a great article…
but what can I say… I procrastinate a whole lot
and don't seem to get anything done.

BHW   2017/4/13 下午 08:32:00

My coder is trying to convince me to move to .net from PHP.
I have always disliked the idea because of the costs. But he's tryiong none the less.
I've been using WordPress on several websites for about a year
and am nervous about switching to another platform. I have
heard very good things about blogengine.net. Is there a way I can transfer all my wordpress posts into it?
Any kind of help would be greatly appreciated!

卜維丰   2011/7/17 下午 02:41:00

Peter,
http://www.flytownbooks.com/itemdesc.asp?ProductID=XP7097

Peter   2011/7/15 上午 09:24:00

卜老師您好:
請問那裡還有在賣"解決 AJAX 一定會遇到的 90 個問題"???

下載的程式碼.都會popup出一問題"請問本書又下腳有幾個動畫??"..不管輸入多少有沒反應...請問要如何才可下載程式碼.....

大堯   2011/1/11 下午 03:55:00

老師您好 在自動重新整理的範例裡面
為何有個步驟是回傳XML然後刪除呢?
一直不了解這個步驟的含意
再麻煩老師解釋 謝謝

卜維丰   2010/11/27 下午 10:11:00

anthony, 這裡請....

你留的連結, 我是看不懂內容有什麼變化, 就你的問題, 我簡單回覆如下

我們先假設不涉及 flash 圖表問題, 光是使用者選擇

一個下拉選單, 使用 onchange 事件來呼叫 Javascript 進行某些動作, 如果這個動作涉及到必需由主機端取得資料, 可考慮使用 AJAX 技術

如果沒有資料量化上的變動, 如你的描述, 只是圖表型式的改變, 基本上, 是用不到 AJAX 的, 這就好比把藍字改成紅字一般, 不用回主機去撈資料, 除非使用者改變的, 例如是統計區間, 需要重撈資料

所以, 在這方面, 我希望你先明白合適於 AJAX 發揮的時機, 所以, 如果就你的提問, 改變圖表型態, 基本上和 AJAX 關連不大

另外談到 Flash 的問題, 在我的經驗中, Flash 不管是圖表還是相簿, 有個很嚴重的問題, 和快取有關, 例如相簿, 如果你改了相簿內容, 很多時候無法即時變更, 主要是快取的問題, 所以, 在 swf 後加上參數, 可能有助於解決這問題, 例如 flashChart.swf?ts=blah blah


anthony   2010/11/25 下午 03:45:00

像我這樣的網頁,若是想讓使用者自行選擇圖形,改用下拉式選單有沒有什麼javascript,ajax,jquery等程式可以用呢

anthony   2010/11/25 下午 03:41:00

我曾經架了一個php網站,網址為http://61.221.100.195/clim/charts/clim1.php,在整個網站中用了一些ajax的技術包含滑動式隱藏效果與重新載入,還有php 的套件swf/charts統計圖表,以及google earth api等等初步構想是希望能讓使用者在網頁中可以點選量測的監測統計圖表之後又想到再增設一個按鈕讓user自己可以來手動更新圖表,由於看到卜大在這本書中的053重新載入的介紹,因此我在每個區塊中寫了兩個不同的動態圖表檔案,在初次開網頁時是一個動態圖表的php,點選重新載入時,另外再連結到另一個網頁,然後再帶回這個圖表php,現在我想要讓使用者可以點選不同的圖表例如在同一個區塊內可以點選分布圖,長條圖,圓餅圖,等等我能不能用這之程式來做呢,或者可否教我用下拉式選單來撈這樣的資料呢,目前我嘗試只增設botton1 botton2兩個按鈕但第一次由第一個圖表切換到第二個圖表是沒問題的,但在點回第一個圖表按鈕就發生錯誤,無法再點到第二個圖表按鈕,卜大幫忙協助看一下
另外我將錯誤畫面擷取下來放在我的部落格上
操作流程依照照片順序排列

卜維丰   2010/11/23 上午 09:58:00

anthony , 例如
obj=document.getElementById(id);
這時, obj 就代表一個使用 id 定義的區塊(元件)

你的 button1 執行的是讀取某 doc1 資料, button2 執行的是讀取 doc2 資料, 依此類推

但你永遠可以用obj.innerHTML=buttonX 指行的結果

如果你是指, 很多按鈕要寫很多個讀取很麻煩的話, 就寫成副程式, 傳 url 進去

anthony   2010/11/12 下午 05:08:00

卜大:
在這本書中的053的範例
你說明到可以用ajax的技術表現重新載入
在053-dynamicContent.html檔案中程式碼第50行
你說明了var obj=document.getElementById(div); //針對不同區塊,分別置入不同對應資料,
但假設我要重新載入不同的資料並且放在同一個區塊,我想設兩個以上的按鈕可以同時切換不同的資料
請問怎麼寫呢

eric   2010/1/24 下午 11:54:00

卜大您好:
ajax書中 範例50:動態顯示表格內容
中的PHP程式有中文亂碼的問題,我發現
了一個編碼及解碼方式,如下:
1.Javascript編碼:encodeURIComponent()
2.PHP解碼:rawurldecode()
我有在IE及Firefox中測試,一切ok!

eric   2010/1/8 下午 06:54:00

卜大您好:
我已經找到下列問題的解決方法了。
1.把所有檔案的編碼都設定為utf8。
(包含html、php、xml、資料庫)
2.把function getFormValue(form)中所有的escape(fv.value)改成fv.value
(把escape()去掉)。

謝謝!!

=================================
*問題:
我在測試ajax書中 範例50:動態顯示表格內容 的時候,無法顯示中文。(會出現亂碼,例如:%u5C0F%u90A6)

我用的是您已更新過的"php程式勘誤下載"
中的程式050-saveContact.php,
一直找不到原因。

麻煩卜大指點。
非常感謝!!

eric   2010/1/5 下午 06:34:00

卜大您好:

我在測試ajax書中 範例50:動態顯示表格內容 的時候,無法顯示中文。(會出現亂碼,例如:%u5C0F%u90A6)

我用的是您已更新過的"php程式勘誤下載"
中的程式050-saveContact.php,
一直找不到原因。

麻煩卜大指點。
非常感謝!!

小包   2009/11/10 下午 12:02:00

我不是包X義!!

卜維丰   2009/9/8 上午 10:00:00

peterukuik,
那你就該看看這篇 Javascript eval()

peterukuik   2009/9/8 上午 01:24:00

老師您好
請問老師動態產生的input name=id+流水號
<form name='form1'>
<input name=id1 value=1>
<input name=id2 value=a>
<input name=id3 value=c>
<input name=id4 value=d>
.....
</form>

請問我如何用javascripy取得input value呢?
document.form1.id.value; 好像無法在物件內放變數

小王   2009/7/12 下午 10:24:00

老師你好!
我在測試您的範例51
動態清單原本是xml無法顯示
在使用debug版本之後 成功顯示出第一層了
不過之後的還是無法顯示?
想請問是什麼樣的問題?
是有需要載入.xml之類的嗎?
謝謝老師!
在此附上我的測試網址
http://web.csie.cgu.edu.tw/~b9529009/test/051-1.html

S   2009/6/4 下午 02:57:00

小包你也來發問拉,你是包X義吧,台灣程式人員圈子還真小

brian   2009/3/26 下午 05:58:00

卜兄:
書附光碟052範例,在IE上測,會有不準的狀況,如果網頁很長的話,scrollbar往下拉,滑鼠指到下面時,tooltip就會往上跑。

小包   2009/3/24 下午 05:28:00

根據高人指點
更改成
xmlHttp.onreadystatechange = function()
{
catchGetTime(num3);
};
即可

小包   2009/3/23 下午 08:16:00

大家好
小弟不才要請教高手一些問題這是一段AJAX的函式--
其中num,num2,num3--真的是有抓到值了--這點是可以確定的
function Buildkey(num,num2,num3)
{
var requestString="abc.php?colorid="+num+"&styleid="+num2+"&level="+num3;
xmlHttp.open('GET',requestString,true);
xmlHttp.onreadystatechange=catchGetTime;
xmlHttp.send(null);
}

function catchGetTime()
{

if (xmlHttp.readyState==4 || xmlHttp.readyState=='complete')
{

if (xmlHttp.status == 200)
{
var result = xmlHttp.responseText;
//現在idbau1是寫死的--我想讓num3(是數字的類型)黏在idbau的後面(動態接收後會是idbau1..2..3之類的)--可是我真的不知道要怎樣用語法來表示
document.getElementById("idbau1").innerHTML=result;
}

}

}

我自己測試過
document.getElementById("idbau1"+num3).innerHTML=result;
是不行的

Mendes   2009/3/13 上午 11:01:00

想請教一下,我現在練習到範例59,假設說範例中的表單加上「下拉式選單」、「checkbox」或「radiobox」,那從xml讀回來的值應該要怎麼設定呢?

卜維丰   2009/3/12 下午 05:55:00

小包, 如果你認為是許功蓋的問題
那你最後由後台解決
麻煩你看一下套用說明那篇
確認產生的 XML 格式無誤是第要點
如果 xml 傳回的資料是對的
剩下的動作是前台 JS 部份
和 PHP 就無關了
IE6 我測過
不過, 前陣子發現一個問題
同樣的程式, 在不同電腦上的 IE6 有不同表現
我查了很久, 還沒有確定答案
比較有可能的原因, 在於安全性設定(多半是被防毒軟體擅自改變)

小包   2009/3/6 下午 04:26:00

統整一下

問題一
PHP版autocomplete框線問題(只有IE出不來)
http://home.anet.net.tw/bau0123/no.GIF

問題二
PHP版中文字串首字偵測問題
(ASP完全可以但PHP部分不行)(皆已0.3版本為例)
以PHP為例--資料庫若有一欄位值為x許功蓋
當我在輸入框中輸入x時--會出現x許功蓋讓我選取
但若將欄位值改成許功蓋
當我輸入許時--許功蓋無法出現讓我選取
並出現錯誤相關訊息

小包   2009/3/6 上午 11:26:00

點我的名字可以連到圖片所示
但怕不清楚
所以把圖片網址貼出來

http://home.anet.net.tw/bau0123/no.GIF

小包   2009/3/6 上午 11:24:00

卜大好
最近也買了您的書來看
覺得收穫良多
這兩天在研讀057autocomplete這個範例時
遇到不少問題
中文顯示問題--版本更新問題
(我是用PHP--但套用時似乎還不能直接套用)

總之以上我都解決了
現在剩下一個問題
問題如網址--框線的那個部份(紅色部分)
在FF跟Safari瀏覽器都能正常顯示
但IE6.0 SP2就會變成如圖所示(我自己畫上去的)
我是沒試過ie7啦

我當下就覺得是CSS設定的問題
可能IE6看不懂
隨手即查了autoComplete.css(0.3的版本)
發覺語法也完全正確

但IE6就是不吃這套
想請問卜大是否使用057在ie6上
也會有諸如此類的問題存在
謝謝

卜維丰   2008/12/23 下午 11:24:00

小東, 三個地方注意一下

1. 057 程式有更新版, 功能再完整點
2. 目前遇到類似情的, 多半是這組程式中, 有一支並非 utf-8, 也就是, 不單單用 meta tag 或 response header 來指定 utf-8 而是檔案本身存檔時, 格式就是 utf-8
3. 關於 utf-8 有一說(我自己無法證實), 就是執行主機是 Linux 或 WIN, 如果是 WINDOW 時, 存檔成 utf-8 時, 有人建議加入 BOM 識別

小東   2008/12/18 下午 01:56:00

套用範例57編碼問題?
測試環境PHP5 MYSQL4 資料庫碼為UTF-8
我把作者的範例重新修正成UTF-8套用無效果,請問還有那個地方需修正

KINK   2008/11/3 下午 07:10:00

卜大...安阿
var s=xmlHttp.responseText;
if (xmlHttp.status == 200) {
if(s=='none'){
........略
}else{
........略
}
}
怎麼沒辦法正確判斷(s=='none')這各呢?
alert(s)是none沒錯阿!
後來把處理的php頁面改成送0,(s==0)ok了,
這.....是什麼情況阿@@!

sifeng   2008/10/22 下午 06:15:00

卜大神,我在測試您的060-PhotoSlide的時候發現一些問題。就是它只讀到一開始的6張照片,之後不管怎樣按上一頁和下一頁,他都沒有反應,一直就是之前的6張照片。我是用你的debug.rar的程式的,所以改過之後還有BUG?請幫我一下,謝謝~~

mark   2008/10/13 下午 05:25:00

卜大您好:
在您的書中範例 javascript Q.41,有關於圖層拖曳(由範例 041-DragDrop.html) 經測試發現有一個問題,在 FireFox 下該html 中若有 textarea 標籤的元素,則在拖曳該圖層後~會造成 textarea 元素無法輸入,,在 IE 則正常,請問一下這個為何??

卜維丰   2008/10/11 下午 01:27:00

Brian, 這支程式的確是漏掉了
如果你熟悉 php 書中附錄有把程式流程寫出來,我會再找時間補上。

卜維丰   2008/10/11 下午 01:21:00

Mendes, 再抓一次

Brian   2008/10/9 下午 05:00:00

對不起,我已經知道如何下載了,對了,想再請問一下,有提供058-removeCar.php這個範例嗎?謝謝你的回覆。

Brian   2008/10/9 下午 04:38:00

請問一下,讀者專區中無法下載範例,因隨書所附的光碟沒有058-Cart_1.php。請告知要在那裡可以下載到。謝謝你

Mendes   2008/10/7 上午 11:53:00

想請問一下,關於範例55中的055-saveInput,在debug檔中有資料夾卻無檔案,要去哪裡下載哩?

卜維丰   2008/9/22 下午 02:34:00

大順, 不妨給我你的測試頁
另外, 我在 Javascript 書裡, 有提到如何偵錯, 像這個時候, 就是偵錯的時機了

大順   2008/9/19 下午 07:25:00

囧rz~~
它顯示說document.form1.x不是一個物件

**************表單的部份*************

<form name="form1" method="post" action="mapMOVEcheck.php">
<input name="id" type="hidden">
<input name="content" type="hidden" value="test">
<input name="x" type="hidden">
<input name="y" type="hidden">
</form>





*************JAVASCRIPT部分*******
function mouseUp(e){
_dragobj.className=_className;

//設定可拖曳狀態
_dragActive=true;
_maxi++;

document.onmousemove=noopMouse;
document.onmousedown=noopMouse;
document.onmouseup=noopMouse;

snapGrid(true);


//取得目前滑鼠與圖層左上角位置的差距
x=(ns)?e.pageX:event.x;
y=(ns)?e.pageY:event.y;

_cx=_dragobj.offsetLeft-x;
_cy=_dragobj.offsetTop-y;


var aa = (ns)?e.pageX:event.x;
var bb = (ns)?e.pageY:event.y;
var cc = (_dragobj.id);

document.form1.x.value=aa;
document.form1.y.value=bb;
document.form1.id.value=cc;

document.form1.submit();

卜維丰   2008/9/19 下午 02:03:00

大順, 如果你有個表單....

<form name="form1" ....>
<input type="hidden" name="x"...>
<input type="hidden" name="y"...>
<input type="hidden" name="objID"...>
</form>

在邊移動時, 你已經取得 aa,bb
填到表單內

document.form1.x.value=aa;

以此類推

大順   2008/9/19 下午 12:16:00

感謝您的回覆

XY值與ID都是透過JAVASCRIPT的幫忙取得的

想請問該如何將他轉換成變數儲存在表單的隱藏欄位呢?!

這幾天拼命的在翻您的那兩本書,可能還沒有徹底了解吧,還是不太會,但是最近急需把這個功能做出來

卜維丰   2008/9/19 上午 03:41:00

大順, 可以這麼作

既然你會取得 ID 了, 然後在拖曳時, 也是不停計算圖層座標, 在計算圖層座標的同時, 你不妨把這個值填到表單的隱藏欄位中, 包括 ID 也是, 最後送出時, 由表單的方式送出即可

大順   2008/9/18 上午 10:57:00

您好,我有購買您的AJAX90問題與重新認識JAVASCRIPT,很喜歡您的編排方式,而且在內容的部份,有關程式碼的地方也講解的比其他書籍來的清楚易懂的多,讓我這個剛接觸JAVASCRIPT的人(之前只有做過PHP動態網頁)也能夠較容易上手^^感謝您。

在AJAX90問題跟重新認識JAVASCRIPT書中都有介紹有關拖曳圖層的作法,有些疑問想要請教您。

如果想結合資料表,在MOUSEUP之後,取得該圖層的ID與移動後的(X,Y)值直傳送至PHP的頁面,將該圖層座標進行資料表的更新該如何做呢?!


<div id="<?php echo $row_Recordset1['id']; ?>"
dragable="dragable"
class="board"
style="position: absolute;
top: <?php echo $row_Recordset1['y']; ?>px;
left: <?php echo $row_Recordset1['x']; ?>px;background-color:

onmouseover="isDragable(this.id);" onmousedown="startDrag(this.id);" onmouseup="alert(this.id);">
<DIV>


我在動態圖層內增加一個onmouseup="alert(this.id)後,的確在滑鼠按鈕移開之後都能ALERT該圖層的動態ID~~~

想請問該如何將此動態ID透過FUCTION存在變數中呢?!

*************程式碼部分***********
function mouseUp(e){
_dragobj.className=_className;

//設定可拖曳狀態
_dragActive=true;
_maxi++;

document.onmousemove=noopMouse;
document.onmousedown=noopMouse;
document.onmouseup=noopMouse;

snapGrid(true);


//取得目前滑鼠與圖層左上角位置的差距
x=(ns)?e.pageX:event.x;
y=(ns)?e.pageY:event.y;

_cx=_dragobj.offsetLeft-x;
_cy=_dragobj.offsetTop-y;


var aa = (ns)?e.pageX:event.x;
var bb = (ns)?e.pageY:event.y;

*************程式碼部分***********
已經有取得X,Y的座標了(aa,bb)
想請教如何傳遞圖層ID與X Y值至CHECK.php網頁進行資料表的更新

感謝您

卜維丰   2008/9/17 下午 04:00:00

林漢忠, 我自己上某些小書局, 也看到書了, 其他讀者也都收到了, 要不要直接問客服中心?

林漢忠   2008/9/17 上午 11:34:00

在網站看到您發表的各式教學文章又看到您有出書"重新認識JAVASCRIPT"
馬上就到搜主意去訂了一本

可是.竟然過了7天了出還沒送出來
好想看丫@@

到底什麼時候會拿到手丫@@


sifeng   2008/9/4 下午 05:46:00

老師,我明白了,謝謝你的提點~~^^

卜維丰   2008/9/4 上午 11:21:00

sifeng, 你的確想太多了

原則上, 你怎麼設計後端送回你要的資料, 這是後端 php 的工作, 萬一, 如你現有畫面, 會員, 登入, 評價, 你分別放在三個資料表中, 顯然可能是資料庫規劃有問題, 那我也沒法幫你解決, 這時, 你可能先放下 AJAX , 把資料庫好好再研習一遍

AJAX 只是一種方法和技巧, 藉由分析主機送回來的 xml 資料, 達成前端應用, 分析是一個環節動作, 主機送回來不是我們能控制的, 但主機要送什麼回來, 是設計人員的問題, 和 "AJAX 本身" 沒什麼關係, 你送什麼資料回來, 前端怎麼分析, 前後搭配, 這全部取決於設計人員

因此, 只能把 AJAX 概念教各位, 再多舉些應用例子給各位參考, 剩下的, 就看你怎麼變化了

sifeng   2008/9/4 上午 01:39:00

http://134.208.40.138/graproject/sale/buy/19.html

老師你好~我有問題想要請教你。我參考書裡的很多例子,都是向PHP要求單一資料,然後在.html 裡用responsetext或responseXML顯示回應的資料。我現在這個網頁,我想用AJAX的方式讀取需要的資料。19.html 裡面需要的向伺服器要求的資料有"用戶名","是否已經登入","評價"等。所以我需要同時向伺服器要求不同的資料,請問應該要怎樣做呢?
因為同時要求很多不同的資料,所以我不知道應該要怎樣分開顯示response回來的資料。我知道其實直接存成PHP就可以完成了,可是我有考慮到資料庫負擔的問題(可能是自己想太多了^^),然後也想學一下AJAX。 謝謝~~

php生手   2008/8/30 上午 02:37:00

卜大好:
抱歉哦....
我知道抓取xml資料錯了,我有找到了
謝謝.....

卜維丰   2008/8/26 上午 11:41:00

php 新手,

通常, 我不幫人抓 BUG, 尤其是你把 059-getDetail.php 該傳遞的字串是 id ? 還是 pID 自己沒搞清楚時!!!!

php生手   2008/8/25 下午 01:21:00

卜大好:
我用alert呼叫getNodeContent(xml,'root')資料內容都是空的
為什麼會這樣.....


php生手   2008/8/24 下午 03:12:00

卜大好:
現在是要把資料庫的資料填入右側表單,只是資料呼叫不出來,不知道哪出了問題

for (var i=0;i<pa.length-1;i++)
{
eval('form.'+pa[i][0]+'.value=\''+pa[i][1]+'\'');
}

document.images[pa[pa.length-1][0]].src=pa[pa.length-1][1];

john   2008/8/21 下午 10:37:00

老師能否問一下...我目前在網頁有設很多li清單..然後我在javascript中寫
LiTag=document.getElementsByTagName("li");
word=LiTag[page].childNodes[0].nodeValue;
上面是可以取得li清單的內容...但是網頁左下角都會出現有錯誤標誌說...childNodes是null或者不是一個物件..但是的確有做出來了...網頁也可以跑..只是那個javascript卻一直存在..我也不可能把這網頁變成xml文件...因為他是個網頁型態..那要如何改才能把錯誤消除

卜維丰   2008/8/20 下午 03:15:00

php 生手, 看不出你的問題, 再問清楚點

php生手   2008/8/18 下午 10:43:00

作者你好:
我有測試產品管理這範例
可是測試不出來,不知道哪有問題,可以請作者幫我提點一下嗎..........資料沒辦法讀取出來

這是我建立的資料表,我只有建立一筆資料
http://140.136.150.75/059-getDetail.php?pID=33922

boy   2008/8/18 下午 05:23:00

那麼我可以加上用setAttribute替table節點加上width,height嗎??
table=document.createElement("TAble");
tbody=document.createElemtne("TBODY");
tbody=setAttribute("width","1100");
tbody=setAttribute("height","30");
table.appendChild(tbody);

因為我這樣用好像沒反應??我的table必須加上長和寬..我有想過用css
但我在css這樣打
width:1100em;
hieght:30em;
表格長度有變...但寬的就不理我...寬度ㄧ樣沒變...所以是css打錯還是用dom的方式錯誤??謝謝老師!!

卜維丰   2008/8/18 上午 11:59:00

boy, 不會沒反應, table 你要加上 tbody 否則部份瀏覽器會顯示不出表格

boy   2008/8/18 上午 03:46:00

先謝謝老師..現在是可以新增表單了...但是有個問題是..我新增一個table節點然後要加上name和className在table節點裡面..
var table=document.createElement("TABEL");
table.name="show";
table.className="style15";
可是我這樣加沒反應= =....其他像input節點我這樣加就正常顯示..只有table我這樣加不行...後來有試過setAttribute也不行..請問老師該怎麼做呢??

卜維丰   2008/8/17 下午 05:29:00

boy, 如果是這種需求, 你的作法就更不對了, 最好用 createElement()

我想想看有沒有例子可以給你看....

boy   2008/8/17 下午 05:09:00

我之前也有想到要向老師說的直接用name取值...但是我要做的是動態的新增表單...也就是一開始有2個輸入input然後上面有個input可以輸入數字假如說輸入3就會連同之前的2個ㄧ同變成5個input但是在ie下之前輸入的不會應後來新增的而消失..主要是在firefox下之前輸入的因為後來新增而消失了...= =
我是把input包在div的圖層內..我新增語法是
document.圖層div.innerHTML=document.圖層div.innerHTML+後來新增的表單;

卜維丰   2008/8/17 上午 11:32:00

boy, 你的語法

var obj=document.getElementById("use"+i);

看起來沒有不對, 不過接下來的部份
var word=obj.value;
obj.setAttribute("value",word);
你取了值,再放回去,這不等於沒動作?

通常, 表單元件值, 我不建議使用者用 getElementById 來進行值的存取, 因為表單本身就有完整物件特性

在 input 裡, 加上 name 屬性, 例如
<input type="text" name="user_1" id="user_1" />

用 document.formName.user_1.value 取值或設值

這時要用迴圈的話, 才用 eval()

boy 更正   2008/8/16 下午 11:20:00

剛剛有打錯
我有兩個input叫
<input type=text id=use_1>
<input type=text id=use_2>

迴圈取id並加上value
for(var i=1;i<3;i++){
var obj=document.getElementById("use"+i);
var word=obj.value;
obj.setAttribute("value",word);


}

boy   2008/8/16 下午 11:16:00

我想問老師ㄧ下我在一個表單設如下
<input type=text id=use_1>
我想在javascript中替這2個input加上value
於是我用迴圈跑
for(var i=1;i<3;i++){
var obj=documentById("use_"+i);
var word=obj.value;
obj.setArrtibute("value",word);
}

但是obj=documentById("use_"+i); 這行ㄧ值無法取到id為use_1...好像是i他沒有讀成1而是還是當作i,就算我用("use_"+eval(i))也不行...這困擾我很久...到底如何取得呢??

ㄚ強[解決了]   2008/8/5 下午 11:31:00

抱歉我沒看仔細老師的書..用
var obj=document.getElementByI(page);
取的td的div後...再用parentNode取父節點
parentTD=obj.parentNode;
parentTD.setAttribut("id","current");
就可以取的td的標籤了

ㄚ強   2008/8/5 下午 11:08:00

我會這樣問是因為我想把分頁那ㄧ個範例中ul..li改成table的tr...td寫法...所以才會這樣問...

ㄚ強   2008/8/5 下午 11:05:00

老師能否在請教假使我在table中這樣寫<td id=show>....那麼在javascrip如何取的此td中id的名子??因為老師書都是直接建立標籤...但是我是想去取的而不是直接去建立...謝謝!!

卜維丰   2008/8/3 下午 12:13:00

強哥,

ToolTips 我是用 snap.com 的服務
再來你應該是在問 autoComplete 的問題
理論上, 要使建議的選項 DIV 和文字欄位等寬,這和文字欄位用的字型大小,或有沒有指字寬度都有關

我建議你設計的嚴謹一點,在文字欄位中,除了指定字型大小,還要指定寬度,最好用 px 為單位

最後, className 相當於修改 class="xxxx" 裡的 xxxx, 如果你只想單單改寬度, 就改成

obj=document.getElementById("show");
obj.style.height=新的寬度+'px';

ㄚ強   2008/8/2 下午 06:01:00

老師你好我想問...像上面的電腦廣告滑鼠移過去會出現一個視窗內容是用妳介紹的ToolTips座的還是用之前大家都狂在用的無邊界視窗的方法....??還有在智慧型建議中放建議的div圖層在css中假如設300在ie下都可以對齊輸入的input但是在firefox中div圖層就會比input的還寬...是否在javascrip有語法可以更改div的寬...像
obj=document.getElementById("show");
obj.className=xxx;就可以改div的className那如何可以改DIV的寬呢??抱歉問太多~謝謝老師!!

卜維丰   2008/7/30 下午 10:08:00

terry, 057 支援 IE6, 目前有更新, 不妨試試

terry   2008/7/30 下午 06:48:00

請問範例第57個的智慧下拉選單
是否不支援
ie 6.0
FireFox 2.0
也怪怪的..

ie6.0無法點選第一個
firefox 第一各關鍵字就比較難點

楊可惡    2008/6/3 上午 12:58:00

我已經解決了 不用勞煩老師了

把getFormValue(form)

escape() 改為encodeURI()

我的問題就解決了

楊可惡   2008/6/2 下午 04:16:00

卜老師您好:
在書中 "50.AJAX範例 動態表格內容"
按送出後 中文字 都會傳出亂碼 沒辦法像您範例中flash檔那樣顯示中文

有下載
我使用的是PHP+Mysql 作法

測試 http://puaccsb.ulmb.com

AJAX分頁及自動更新頁面合併問題   2008/5/29 下午 04:32:00

卜維丰老師您好:
我這幾天買了您的[解決AJAX一定會遇到的90個問題]這本書,想要請問老師,我測試
了您的範例,第三章的問題54(AJAX分頁顯示)及56(自動更新頁面)!!

我想要將56的程式範例呼叫54的分頁顯示,但是出現了2個問題:
1.56範例有出現(自動更新頁面)會變亂碼
2.但他不會自動更新了

我試了好久,不知道問題出在那裡,查看您的書本,第53(動態載入頁面)有提到全域變數!!
是和這個有關係嗎??可否告訴我要如何修改才可以使2個程式一起執行而不會出錯呢??

非常感謝老師您抽空看完我的題目!!謝謝~~

PS:我是使用ASP的寫法!!

卜維丰   2008/5/8 上午 10:14:00

呵, Da Da.....
這麼一大堆, 不會有人幫你抓 BUG 的, 不過看出來你會作, 原理是

1. 由後台回傳的資料, 你前台看看怎麼處理, 但不管怎麼處理, 一定知道筆數, 假設你是用 JSON 時, 那有幾筆? json.length , 這仍然是 JavaScript 不是 php 了
2. 這個筆數知道了, 你要先執行把清單變成這個數量, 也就是 form.select.length=json.length
3. 再來, 才是一個一個 select 內容的指定 for (var i=0;i<json.length; i++)

最後, 我看到你用 encodeURIComponent 這個方法, 我在測 Opera 時失敗, 不過, 我還沒測全, 針對中文部份, 你要注意一下

Da   2008/5/7 下午 09:46:00

非常感謝您! 但是還是有些地方想請教您
以下是我的script部分,我的長度是從資料庫讀出來的(php),不知道script要怎樣使用php變數呢? 是改
for(var i=0,j=json.length;i<j;i++) 這邊的json.length嗎?
<script language="JavaScript">
//函數:在 IE 中建立 XMLHttpRequest 物件,避免不同瀏覽器的差異性
if (typeof XMLHttpRequest == "undefined" && window.ActiveXObject) {
function XMLHttpRequest() {
var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
for (var i=0; i < arrSignatures.length; i++) {
try {
var oRequest = new ActiveXObject(arrSignatures[i]);
return oRequest;
} catch (oError) {
//ignore
}
}
throw new Error("MSXML is not installed on your system.");
}
}

//函數:將參數加入到 URL 尾端,以便讓 GET 使用
function addURLParam(sURL, sParamName, sParamValue) {
sURL += (sURL.indexOf("?") == -1 ? "?" : "&");
sURL += encodeURIComponent(sParamName) + "=" + encodeURIComponent(sParamValue) ;
return sURL;
}


//-----------------------------------------------------------------------
//
//分別取得兩個選單 的reference
var oCateList = document.getElementById('cid');
var oGameList = document.getElementById('gid');
//後端傳回 JSON 資料的路徑
var sURLInit = "da_request.php";
//用來儲存 JSON 的全域變數
var json;
//一開始時先將第二個選單停用
oGameList.disabled = true;

//第一個選單的 onchange 事件,用來產生第二個選單的內容
oCateList.onchange = function() {
//如果選擇的是第一個選項,第二個選單只顯示"請選擇",並且無法使用。
if(this.selectedIndex == 0) {
oGameList.options.length = 0;
oGameList.options[0] = new Option("----請選擇----",0);
oGameList.disabled = true;
} else {
//如果有選擇其他選項,送出 Ajax 跟後端要求第二個選單的資料。
//產生要求資料的 url,加入第一個選單所選擇的選項值作為參數
sURL = addURLParam(sURLInit,"id",this.options[this.selectedIndex].value);
//建立 XMLHttpRequest 物件,並且送要求
var oRequest = new XMLHttpRequest();
oRequest.open("get", sURL, true);
//接收資料的 callback 函數
oRequest.onreadystatechange = function() {
if(oRequest.readyState == 4) {
//接收到資料後,就將第一個選單啟用
oCateList.disabled = false;
if(oRequest.status == 200 ){
//接受資料成功,可以從 oRequest.responseText 取得傳回的資料
//轉換為 JSON 的格式
json = "json=" + oRequest.responseText;
json = eval(json);
//產生第二個選單的選項
for(var i=0,j=json.length;i<j;i++) {
oGameList.options[i] = new Option(json[i].text,json[i].value);
}
//將第二個選單啟用
oGameList.disabled = false;
} else {
//接收資料失敗,可以從 oRequest.statusText 取得錯誤狀態資訊
//將錯誤資訊顯示在第二個選單中
oGameList.options[0] = new Option(oRequest.statusText,0);
oGameList.disabled = false;
}
}
}
//選擇選項後先將第一個選單停用,避免重複送出要求
oCateList.disabled = true;
//送出 Ajax 要求
oRequest.send(null);
}
}
</script>

卜維丰   2008/5/6 下午 05:44:00

Da, 你不能光把 a1,a2 取代成 b1,b2
要先把 a 的項次總數調整成 b 應有個數, 如 a.length=2 , 再去取代

Da   2008/5/6 上午 02:03:00

您好 我遇到ajax問題了~
想請問一下 下拉選單部分
a->a1,a2,a3,a4
b->b1,b2
有兩個下拉 第一個選a或b
我先選a後 再去選b 還是會存在a3,a4呢~
請問我要注意什麼呢

kink   2008/4/23 上午 12:59:00

卜大...辛苦囉^^~
在加油喔...
小弟非常喜歡你寫的書..合口味ㄋ..ㄏㄏ

卜維丰   2008/4/20 上午 12:43:00

elf小孩, 到讀者專區下載, 謝謝

卜維丰   2008/4/18 下午 05:25:00

好學生, 請下載 php勘誤檔案, 造成不便請見諒

elfkid   2008/4/16 上午 10:42:00

我光碟不見了
麻煩把光碟的內容寄給我
elfkid@elfkid.net

努力向上的好學生   2008/4/13 下午 08:08:00

我想問為什麼我都無法執行書本裡的範例?

.....   2008/4/10 上午 10:51:00


PHP 的程式一堆問題..

又不出誤刊表

根本就是紙上談兵的一本書



Andy   2008/3/18 上午 10:47:00

請問卜老師 書的勘誤何時會提供
因為書中程式及內容都有錯誤,一直提問有時等好久也沒回應,可能老師很忙,沒辦法一直解答,所以還請老師撥空提供書的勘誤
這樣就不用一直煩老師了
我的使用語言是PHP5

KINK   2008/3/17 下午 12:58:00

卜大..你好
我想請教的是....程式的順序為何是這樣
function sendRequest(){
createXHR();
xmlHttp.onreadystatechange=catchResult;
xmlHttp.open('GET','HelloWorld.html',true);
xmlHttp.send(null);
}
程式走法不是由上往下嗎?為什麼還沒OPEN跟SEND...onreadystatechange就會有動作ㄋ?
請述小弟問了各...好像"AJAX無關"的問題

Andy   2008/2/29 下午 12:45:00

卜老師 昨天您傳的058-Cart_1.php檔
裡有很多錯誤 點擊移除後 消失的卻不是要移除的項目真奇怪..

Andy   2008/2/29 上午 01:55:00

感謝卜老師的回應
不過裡面的058-removeCar.php也沒有
再次麻煩了
PHP的部分很多都有缺

卜維丰   2008/2/29 上午 12:41:00

Andy, 怪了
我原稿有, 我放上去了, 在這裡
http://audi.tw/files/058-Cart_1.rar

Andy   2008/2/28 下午 12:48:00

卜老師 您這本書裡的光碟中並沒有058-Cart_1.php這個檔案,請問要從哪下載???

卜维丰   2008/2/18 上午 04:44:00

to 苦命通材士,

關於 IE6 嘛....
說實話, 我自己的系統(工作上的), 已經宣告不再支援了, 包括這個站, IE6 看起來歪歪扭扭我也不改了

不過能, 你的問題, 我還是會檢查看看, 不過沒法給你一個準的時間, 手上不少事在忙, 請體諒

卜维丰   2008/2/18 上午 04:42:00

to 得易,
給我你的測試環境, 謝謝

苦命通材士   2008/2/13 上午 11:36:00

卜老師你好

小弟在057-autoComplete這範例上遇到和小馬同樣的問題
經交叉測試後發現
在ie6都會發生下拉式選項要點選後才能展開
然後第一個選項不能選擇的情況發生
在ie7和firefox可以正常顯示
也看過您setAttribute的補充文章
請問有辨法克服ie6的問題嗎?

得易   2008/1/29 下午 03:50:00

卜老師你好

碰到一個問題想請教一下
關於AutoComplete

我使用asp環境
按照書上的例子都可以操作了

但是有一點覺得很煩
例如我打一個a他會出現下拉選單 AARON
如果我就是需要 AARON 這個人名
我必須去點選下拉選單中AARON
但是他並不會跳上去
而是出現更多選項
出現後點選AARON也不會自動跳上去文字輸入表單中

是不是能改成圖層方式呢!
要如何改可不可以給個範例!!

vicky   2008/1/24 上午 10:31:00

請問作者我在Q44:解決亂碼問題,已加入header("Content-Type:text/html;charset=BIG5");
這行字,只有「找不到姓名資料」會出現中文字,但從mysql資料庫搜尋出來的資料還是出現亂碼,怎麼會這樣呢??
還有勘誤表可不可以早一點公佈出來呀,不然真的蠻困擾的。

卜维丰   2008/1/15 上午 11:53:00

ted, 其實瀏覽器雖可以選擇關閉 javascript
不過, 許多網站, 例如 YouTuBe 也先檢查過, 如果使用者不開啟 javascript 時, 就會要求使用者開啟

同樣道理, 例如 GMail, Yahoo Mail 等, 不開啟 javascript 就沒法用, 這時取決, 不在於網站, 在於用戶

我還是認為, 充實內容才是第一要務

ted   2008/1/14 下午 11:27:00

謝謝你的回應,

當然以安全性的問題,或許真的該開個討論區來討論比較適當。

因為總會有不少人僅只是以攻擊為樂,去破壞網頁或資料庫。
最近正好在規劃一個新的後台網頁,所以有特別去想一下這個問題。由於瀏覽器允許使用者自行關閉javascript,但各網頁確都未指出該網頁需支援javascript,
結果關閉javascript去看各網頁都會有些異常,
因為現在要看到完全無javascript的網頁,應該不太容易了。
有機會的話等你開個討論區討論囉!!再次謝謝你的回應!

卜维丰   2008/1/14 上午 01:58:00

ted, 你的問題, 足夠寫篇文章來聊聊

簡單講一下我的看法

的確是有人打死不用 javascript 的,以我個人而言, 我的作法, 後台部份, 我不全然不驗證

但我只驗證那些搞錯會死人的東西

我很習慣在前台就把某些東西搞定(例如一些計算)

好, 重點來了, 使用者想惡搞的話, 資料錯了, 損失的通常是使用者, 我舉個例子, 訂單總價通常都會自動計算, 萬一, 有個兩光的頁面, 你可以另存新檔, 改了總價, 再送回去, 但多半, 網購都保留了接受訂單與否的權利, 在你送出的瞬間, 就已經同意了他們的條款, 你非旦討不了好處, 還可能吃上官司(以不法手段意圖侵佔)

這種情形就好比, 我不用 IE,但, ATM, 沒辦法, 只好用 IE , 我還是屈服在某些情況下

所以, 我不會去陷入製作技法的流派之爭(除了我實在受不了IE外), 假如, 我這站的內容, 網友有興趣, 願意常來逛逛, 但我的目錄又用 javascript 產生, 那, 問題已經不在我身上了, 由使用者決定, 不是嗎?

歡迎常來討論, 又抑或你也想發表, 我打算開個共同發表欄, 不過可能要年後了, 最近太忙

卜维丰   2008/1/14 上午 01:47:00

小白, 抱歉了, 事後有發現一謬誤
出版社打算在下一版時修正
屆時我也會放在這裡勘誤

卜维丰   2008/1/14 上午 01:46:00

elfkid.net, 不是我不回
一來, 你的壓縮檔我解不開
二來, 編碼問題, 由前台頁, 後台程式到資料庫都要搭配

你光丟個 zip 過來, 難不成要我幫你 debug ?

ted   2008/1/13 上午 10:37:00

書真蠻不錯的,內容皆有相當深度,

只是突然有些其它的疑問,想詢問你對於這種狀況有什麼意見?

像我們現在若用ajax檢查或一些用到javascript下拉選單等的功能!!

若是使用者把javascript關閉,那就有可能造成非驗証後的資料輸入資料庫,造成資料庫錯誤!!

下拉選選功能會失效等,這類問題想詢問你的看法!!

難不成全部都要在後台檢驗!!如果這樣的話,前台的驗証又失去意義了??想聽聽你的意見,謝謝!!

小白   2008/1/12 下午 04:25:00

050-saveContact.phpcontentype好像少-

header('charset=big5;
contenttype: text/xml;
Pragma: no-cache;
Cache-Control: no-cache;');

我改成
header('charset=big5;
content-type: text/xml;
Pragma: no-cache;
Cache-Control: no-cache;');

找了2~3小時才找出來Orz...

elfkid   2008/1/8 上午 09:46:00

怎麼都沒人回阿

elfkid.net   2008/1/5 下午 05:14:00

..
http://elfkid.net/ajax-autocompletion.zip

大哥
幫解決一下
我試一整天了
我想讓它支援big5編碼的方式
我照你書裡說的
加了header('charset=big5');
我的mysql資料庫是5.0 然後編碼是big5
打中文輸入之後
輸出來是會變成???

elfkid   2008/1/5 下午 04:44:00

改了
可是卻變成什麼都沒有...
就是我資料庫裡面有
a
aa
aaa
然後輸入a下面那邊什麼都沒出現

卜维丰   2008/1/4 上午 11:48:00

把 057/autoComplete.js 內容中
找到 057-autoComplete.asp 字串
改為 057-autoComplete.php 即可

elfkid   2008/1/3 下午 07:47:00

..
http://www.elfkid.net/autocomplete/

我的出現404


卜維丰   2007/12/19 下午 01:26:00

wico, 在這討論或寫信給我都可

wico   2007/12/19 上午 01:40:00


請問這本書有誤刊表嗎

鬆肛的網夜作的會不會太爛阿

還是我找錯網頁了

我根本找不到他放誤刊表的地方

謝謝了

卜維丰   2007/11/6 下午 01:07:00

Eileen,使用 onclick=function() 這種語法
參看這篇說明

Eileen   2007/11/3 下午 05:13:00

請問一下!我想要利用AJAX去動態產生資料,再去計算動態資料勾選後的總金額,但是因為裡面的資料是動態產生的,產生的欄位有使用function,但因為function寫在本來的頁面裡,好像不大能做結合....

ANDY   2007/10/31 下午 10:07:00

卜大...
很抱歉因為昨天把電腦關掉...
測試頁跟我之前留了網址一樣...
再次麻煩了

卜維丰   2007/10/31 上午 03:55:00

ANDY 兄,
要麻煩你把問題描述出來, 或留個測試頁

ANDY   2007/10/30 上午 01:40:00

卜大您好:
我在測試Ajax秀圖機出現問題...不知到底哪裡有問題...麻煩大大能解答一下

卜維丰   2007/9/6 上午 09:55:00

Aun, 測試網站給我

Aun   2007/8/23 下午 11:50:00

卜大你好!
我覺得我和小馬應該是遇上同樣的問題><"

但看你們討論的內容似乎是在FF上無法正確使用,在IE上可行!

我卻是在FF上是正常的
但在IE上,卻會發生清單無法展開,並且第一個選項無法選取的囧境!

而且我在autoComplele.js中也沒看到event.cancelBubble
這一個

等待卜大的解惑
謝謝

卜維丰   2007/8/8 上午 11:34:00

丫全 08/08,

你使用 replace 的方法把想要呈現 < 的地方修正
這原本是很好的想法
不過, 經過取代出來的 < > 仍然不是標籤
這是第一個問題
第二個問題則是, 在 xml 節點中, createTextNode 很明顯, 是建立文字節點
也就是, 裡面的內容是文字

所以, 你想呈現出來的是超連結的話, 要加點工進來

方法一, 請參考問題 39, 動態新增表格及其他網頁元件
你已經取到和超連結相關的各式資料了
利用 document.createElement('a') 建立超連結
透過 appendChild() 把元件加入
再透過 setAttribute() 將這個超連結各式屬性, 如 href, onclick 等加入
其中加入 onclick 時, 要注意, IE 支援度不夠, 在問題 88 中我有詳細說明


方法二, 如上一個回覆, 我仍建議你修改 xml 的輸出內容,像
<url>
<href>javascript://</href>
<onclick>sendRequest("xxx")</onclick>
<text>取消</text>
</url>

回到主程式後, 自己產生文字, 如 '<a href="'+ na[i][1]+'" onclick=.... 這種方式產生內容
再置換原本放置超連結文字內容

我看了你的部份程式碼, 相當優秀, 請繼續加油

卜維丰   2007/8/7 下午 01:56:00

回讀者丫全,

<> 這組符號, 在 xml 中也是用來標記為標籤
所以如果你的 xml 節點值想以下列型式表示

<a href="javascript://" onclick="sendRequest('xxx');">取消</a>

是會有問題的, 因為, 會判別成 <a> 是另一個 xml 節點
解決方法是把節點值中含有 <> 都編過碼後回傳
另一個方法是使用屬性值回傳, 例如
<url href="javascript://" clickfun="sendRequest" para="xxx">取消</url>
再由程式去解析, 不過解析的程式就複雜點
再一種最簡單的, 例如
<url>
<href>javascript://</href>
<onclick>sendRequest("xxx")</onclick>
<text>取消</text>
</url>
匠子一看就明白了吧
像這種案例,用JSON滿合適的,不過,在我書裡沒特別說明用法,你可能要自己研讀JSON

小馬   2007/7/19 下午 03:20:00

卜大您好
非常謝謝您!
不好意思,測試網址改了內容忘記改
我會寫[請點此選擇學校]是因為IE無法點選第一項,我已經改回來,32 行 也mark 起來了
我自己測試結果FF沒反應,keyin任何字結果都一樣
再次感謝!麻煩 卜大囉!

卜維丰   2007/7/18 下午 08:35:00

小馬,我看了
第一, autoComplete.js 第 32 行 event.cancelBubble=true; 這行 Netscape 和 FireFox 不接受, 難怪我一直測不出來

在 IE 上到是能夠顯示清單, 你很棒還能自行修改加上"請點此選擇學校", 表示你都懂了

至於 size=2 無法調, 這就難說, IE 對 setAttribute 的支援很不夠完整, 我有寫一篇文章討論

你改的, 我在 IE 上測出來了, 請暫時把 32 行 mark 起來, 我用 FF/NS 測測看

小馬   2007/7/18 下午 07:01:00

卜大您好
不好意思,原站維護中,測試網址修改如下:
http://163.32.127.72/modules/set/AJAX/autoComplete.html

小馬   2007/7/17 下午 06:58:00

卜大您好
非常感謝您的回應阿
沒錯 沒錯 一樣是那個網址
我麼疑問應該是說第一個選項都無法選擇啦!

還有卜大您可否指導一下
如何讓使用者不需還要去點選下拉選單
而能像YAHOO或GOOGLE那樣keyin後直接出現選多選項(10個OK啦 )
這樣可避免使用者不去或不知道要去點選
我有嘗試用selectobj.setAttribute('size','10');
但很奇怪 都沒有任何反映ㄋㄟ

卜維丰   2007/7/16 下午 02:16:00

小馬, 一樣是在這裡測嗎
http://163.32.127.68/AJAX/autoComplete.html

小馬   2007/7/14 上午 10:52:00

卜大您好
我找到問題癥結點了,我用的是自然輸入法
若改用一般輸入法就正常了(不知道為何會這樣), 程式是OK的,但當值只有一筆時無法選取,例如輸入[自]成功比對的只有一筆[自閉症日托中心],但無法選取。請卜大指導指導囉!

另之前POST的學校名稱太長,若佔版面太大,請刪除之,不好意思喔!

小馬   2007/7/11 下午 05:32:00

不好意思。貼太長了

卜維丰   2007/7/11 下午 04:04:00

小馬, 有那些中文字可測? mdb 的網址給我

小馬   2007/7/11 下午 03:56:00

卜大您好:
非常感謝您的回應,測試網址如下:
http://163.32.127.68/AJAX/autoComplete.html
請卜大上去指導一下,似乎中文無法執行(應該是說有執行但資料不正確,打任何字結果都一樣)ㄋㄟ

卜維丰   2007/7/11 下午 03:08:00

小馬, 程式不用改, 資料庫裡的資料是中文, 整個就變中文了

小馬   2007/7/11 下午 02:35:00

首先我必須要先讚嘆 這本書實在是非常實用
去書店很少買書了但看到此書 真是不買不行ㄋㄟ

另外請教一個問題:
057中 AJAX 自動輸入選取的範例
可否拜託卜大指導一下如合改成中文也適用呢?
最好直接告知程式碼啦,呵呵!
因為小弟功力不怎麼樣...

或者拜託指導一下如何修改,拜託拜託嚕!
先說聲感謝萬分,謝謝!

卜維丰   2007/7/5 下午 10:11:00

漢克

你試著把 php 中部份內容修改
參考樓下樓下樓下 6/14 我留給阿倫的留言

漢克   2007/7/5 下午 01:35:00

我用這本書的mysql資料也都顯示錯誤,別人的都行嗎?還是有啥限制 ?

孟諺   2007/6/26 上午 09:51:00

我用你網站上的資料庫檔案產生以下錯誤
麻煩請幫我解答一下~感恩不盡~~謝謝您了

錯誤
SQL 語法
create table 'aHint'(
'keyword' VARCHAR(50)NULL,
'desc'LONGTEXT NULL)ENGINE=INNODB;
MySQL 傳回:
#1046 - No database selected

卜維丰   2007/6/14 下午 01:30:00

to 阿倫,

請把 057-autoComplete.php 中

header('charset=big5;
ContentType: text/html;
Pragma: no-cache;
Cache-Control: no-cache;');

改成

header('charset:big5');
header('Content-Type: application/xml');
header('Pragma: no-cache');
header('Cache-Control: no-cache');

卜維丰   2007/6/14 下午 12:21:00

回覆讀者夢諺,

table.sql 請按此下載

給個回應
姓名:
佈落格網址:
  如果您是要發問問題, 最好有個問題測試的網址, 這樣比較容易找到您問題所在, 謝謝
內容: