我有一個帶有兩個值(現在是..)的下拉列表以及表單中的其他元素。我想要做的是啓用四個組件,如果用戶選擇第一個值,否則禁用它們。在Spring MVC中使用Ajax加載的元素的onChange事件上調用javascript函數
有一個主頁面,用戶通過其他頁面打開和關閉使用ajax調用動態加載的頁面,這些頁面刪除當前頁面並將新頁面加載到特定的div中。
在那些使用Ajax加載的頁面中,我需要放置在那些頁面中使用的javascripts,所以在這種情況下,啓用/禁用所需組件的JavaScript,但我無法調用它,因爲我得到「Uncaught ReferenceError :soggettiNaturaChangeEvent未定義「,其中soggettiNaturaChangeEvent是該函數的名稱。
此處,我稱呼它,在頁面newEditSoggetti.jsp:
<form:select id="soggetti_soggettiNatura" path="soggettiNatura" cssStyle="width:300px;" onChange="javascript:soggettiNaturaChangeEvent();">
...
...
...
在該頁面過於我把javascript函數:
<script id="function1" type="text/javascript">
alert("soggettiNaturaChangeEvent");
function soggettiNaturaChangeEvent()
{
alert("function soggettiNaturaChangeEvent");
var natura = document.getElementById('soggetti_soggettiNatura');
var datanascita = document.getElementById('soggetti_soggettiDataNascita');
var luogonascita = document.getElementById('soggetti_soggettiLuogoNascita');
var sesso1 = document.getElementById('soggettiSessoID1');
var sesso2 = document.getElementById('soggettiSessoID2');
if(natura.value == "Persona fisica")
{
datanascita.disabled=false;
luogonascita.disabled=false;
sesso1.disabled=false;
sesso2.disabled=false;
}
else
{
datanascita.disabled=true;
luogonascita.disabled=true;
sesso1.disabled=true;
sesso2.disabled=true;
}
}
</script>
這是我的標籤刷新功能,它調用的在參數中指定的initScript:
//reset stuff, reorder tabs, etc...
$.ajax(action,
{
success : function(result)
{
//finds the div where to put new content
var doc = document.getElementById(newid);
doc.innerHTML = doc.innerHTML + result;
//finds the initScript "scriptId" and runs it (THIS WORKS)
scripts = $('#' + scriptId);
eval(scripts.html());
//here I try to find all the scripts tag that begin with "function" and eval them
var jScripts = $("[id^=function]");
for(var i = 0; i < jScripts.size(); i++)
{
eval(jScripts.html());
jScripts = jScripts.next();
}
}
});
當(我認爲)頁面打印第一個警報時,它將函數附加到DOM,但是當我點擊應該調用該函數的組件時,我得到錯誤。 我想要做的是當我點擊組件soggettiNatura時,而不是當ajax完成加載我的頁面時,此功能得到執行。 感謝大家會盡力幫助我,並感謝所有發佈過有用內容的人。 保持偉大的工作。 安德烈 PS:很抱歉的壞壓痕,我是有點着急的:P
編輯:有點追加:如果我嘗試正常加載的頁面(不使用Ajax)的JavaScript工程.. 。 我有一個主頁面中的功能,它顯示了各種javascript和ajax修改(這純粹是爲了調試)後的實際html代碼,我試圖調用的javascript函數在dom中有... 請幫助這個世界的新手..