2010-02-04 70 views
0

我們使用DHTML日曆選取器,只允許您更改日期,這是所需的功能。不過,我需要弄清楚JavaScript來更改日曆選擇器旁邊的日期,如下圖所示,並彈出一個「你確定」的消息。如何使彈出日期選擇器日曆JavaScript更改旁邊的文本日期並更新數據庫?

date example

上述圖像是在一個表中的一行,所以JS需要知道其中的潛在一個10+日期應該編輯。

我是一個JavaScript的n00b位。還在學習新事物。隨時聯繫我的事情閱讀和技巧/提示/等。

如果它有幫助,我們使用PERL和CGI。我猜JS必須有一個AJAX調用來更新數據庫,我可以從代碼庫中的其他示例中找到它。我只需要弄清楚如何編輯頁面上的日期。

爲了澄清,該過程是...人點擊該日曆圖標,獲取DHTML日期選擇器,選擇日期,確認他想將datetime1更改爲datetime2,然後將更改應用於文本您在日曆圖標旁邊看到並放入數據庫。

回答

1

擁有真正的網頁(HTML & JS)在這裏真的很有幫助。但是,一般來說,您需要一種方法讓JS「處理」您想要更改的文本。我知道的最簡單的方法是用DIV或SPAN將文本換成一個唯一的ID(「datetime1」,「datetime2」等)。

然後,假設你知道被稱爲該JS的一塊當日期選擇器運行時,訪問諸如文本項目:

document.getElementById('datetime1').innerHTML = (insert new datetime here); 

你需要一種方式來傳遞ID(datetime1等),以JS,但如果Perl生成10個日期時間行(例如,Perl中的FOR循環只是將順序ID粘貼到DIV/SPAN中,並再次作爲datepicker函數的參數),應該很容易。

我假設你知道(或可以找到)如何做JS中的「alert()」,所以確認應該是最簡單的部分。

這聽起來像是你需要將新的日期發送回某些數據庫。我建議一個FORM將它全部發送回Perl CGI,它將不得不更新數據庫。比我更聰明的人可能會告訴你如何在JS/AJAX等中做到這一點。

+0

(對不起,我似乎無法得到意見,包括換行符...)我會張貼頁面但它是由我的僱主擁有的專有系統。 :( 儘管我需要我仍然在正確的軌道上,我已經包含了一個隱藏表單,並且我將使用一些JS將信息發回我的PERL腳本 對於隱藏表單,我應該只是使用onChange來AJAX返回新的日期?因此,當他們點擊日期選擇器時,它會在確認更改後(通過警報)更新隱藏表單域,然後將該日期發送回數據庫...是否會發出聲音合理嗎? 感謝您的幫助。:) – ckrailo 2010-02-04 19:51:10

+0

我沒有使用JS來修改隱藏的表單字段,但它應該與修改可見的字段一樣工作(只要它們具有唯一的ID,它應該很容易訪問它們)。所以,如果你能得到更新的表單(在客戶端,在瀏覽器中),你不需要任何AJAX。當他們提交表單時,Perl會查看所有表單字段,確定哪些日期已更改,並將更改後的值寫回數據庫(或者您可以將所有這些數據寫回,如果您不介意敲擊D B)。 – jimtut 2010-02-05 20:31:27

+0

首先用datepicker JS玩 - 確保你可以更新頁面的內容。如果你能做到這一點,後端的Perl應該很容易。 – jimtut 2010-02-05 20:31:54

相關問題