使用innerHTML進(jìn)行頁(yè)面部分替換對(duì)復(fù)雜交互很有效。
不過(guò)有個(gè)地方要注意
.innerHTML里帶的script不會(huì)起作用
為調(diào)試方便起見,可以先對(duì)innerHTML進(jìn)行單獨(dú)調(diào)試,調(diào)通后將其中的javascript拷貝到主頁(yè)面。innerHTML中的script也不用刪除。
.javascript報(bào)錯(cuò)可能只針對(duì)innerHTML里的行數(shù)。
評(píng)論
query使用innerHTML也可以實(shí)現(xiàn)局部更新
不過(guò)必要性不是很大,query往往要求對(duì)選中記錄進(jìn)入操作,
操作返回后還能刷新原query分頁(yè)所在頁(yè)面,所以用session保持這些信息就不可避免... 回復(fù) 更多評(píng)論
不過(guò)必要性不是很大,query往往要求對(duì)選中記錄進(jìn)入操作,
操作返回后還能刷新原query分頁(yè)所在頁(yè)面,所以用session保持這些信息就不可避免... 回復(fù) 更多評(píng)論
原來(lái)還是有辦法解決的,參照下面的代碼:
function _xml_htmlInsert(partId, viewData) {
var regexp1 = /<script(.|\n)*?>(.|\n|\r\n)*?<\/script>/ig;
var regexp2 = /<script(.|\n)*?>((.|\n|\r\n)*)?<\/script>/im;
/* draw the html first */
partId.innerHTML = viewData.replace(regexp1, "");
var result = viewData.match(regexp1);
if (result) {
for (var i = 0; i < result.length; i++) {
var realScript = result[i].match(regexp2);
_xml_executeScript(realScript[2], partId);
/* Note: do not try to write more than one <script> in your view.*/
/* break; process only one script element */
}
}
} 回復(fù) 更多評(píng)論
function _xml_htmlInsert(partId, viewData) {
var regexp1 = /<script(.|\n)*?>(.|\n|\r\n)*?<\/script>/ig;
var regexp2 = /<script(.|\n)*?>((.|\n|\r\n)*)?<\/script>/im;
/* draw the html first */
partId.innerHTML = viewData.replace(regexp1, "");
var result = viewData.match(regexp1);
if (result) {
for (var i = 0; i < result.length; i++) {
var realScript = result[i].match(regexp2);
_xml_executeScript(realScript[2], partId);
/* Note: do not try to write more than one <script> in your view.*/
/* break; process only one script element */
}
}
} 回復(fù) 更多評(píng)論
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
|
||