2012-08-24 138 views
1

我希望能夠在我的網頁加載單個組件時如何在網頁加載組件,而不會重新加載整個頁面

<input ..... onchange="callFunctionToReloadNextTag()"> 
<input ... />  <--This is the tag i want to reload 

可以重新裝載實際的組件本身另一分量改變,而不僅僅是什麼在組件中?

當我說重新加載組件本身我的意思是......如果A =名稱,然後B =文本字段,如果A =日期,那麼B =的DateField

編輯

這是我到目前爲止

<script> 
function checkForChange() { 
var approvalStatus = document.getElementById('licensingStatus').value; 
if(approvalStatus == "Pass"){ 
    document.getElementById('licensingApprovalDate').setAttribute("validators", "validators:maxDateToday,required"); 
} else { 
    document.getElementById('licensingApprovalDate').setAttribute("validators", "validators:maxDateToday"); 
} 
} 
</script> 

這種情況正在改變被正確地添加新的屬性的標籤,但變化不被拾起的網頁

回答

2

Ajax只意味着「在不離開頁面的情況下從JavaScript發出HTTP請求」

您可以向提供一些數據的Web服務發出HTTP請求,然後修改DOM以基於該數據更改輸入。

+0

因爲事情是,我有頁面檢索數據並進行更改,但變化沒有被拿起...你是什麼意思'修改DOM'? – flexinIT

+0

「我有頁面檢索數據」 - 如何? – Quentin

+0

「做出改變」 - 如何? – Quentin

0

一個新的答案,因爲舊似乎已經通過對該問題的編輯而過時。

  • 沒有阿賈克斯那裏所有
  • 沒有「驗證」,在任何地方HTML屬性

我要大膽地猜測,你必須運行在頁面加載某些功能並查找您的非標準標記,然後根據該標記分配事件處理程序。

您需要更改該代碼,以便它可以處理該非標準屬性中的更改。

這可能涉及編寫一個函數,該函數將刪除它在頁加載時分配的所有事件處理程序,然後重新運行賦值函數。

+0

我正在使用掛毯,這就是爲什麼我要添加驗證器,但這並不重要,因爲我需要在驗證器添加到標籤後更新組件 – flexinIT

+0

這確實很重要,因爲您要更改掛毯與交互的方式控制。 – Quentin

+0

我可以使用只是HTML和使用tapestries如果Else語句功能,它的工作原理,但只有當你重新加載頁面,所以我來討論相同的問題,所以我可以這樣做,但需要重新加載組件時,而不是重新加載整個頁面 – flexinIT

相關問題