簡而言之,我想使用對象字面值來允許我以任何順序將未知量的變量傳遞給函數。雖然這在理論上不是什麼大問題,但在我的代碼中,這個對象字面量被傳遞給第二個函數on_change
。使用字符串和eval以及多種函數和各種函數傳遞未知數量的變量
on_change
通過將元素的innerHTML與字符串進行比較來工作;如果相同,則設置超時再次調用該函數。如果元素的innerHTML與字符串不同,則執行第三個參數,它可以是函數或字符串。它將以任何方式執行。我已經測試了這個功能,並且使用了一段時間。
不過,我似乎無法獲取對象字面通過函數調用流...
var params = { xpos:'false'};
on_change('window_3_cont_buffer','','
if(Window_manager.windows[3].window_cont_buffer.getElementsByTagName(\'content\')[0].getElementsByTagName(\'p\')[0].innerHTML == \'ERROR\'){
alert(Window_manager.windows[3].window_cont_buffer.getElementsByTagName(\'content\')[0].getElementsByTagName(\'p\')[1].innerHTML);
return false;
} else {
Window_manager.windows[3].load_xml(\'location/view.php?location_ID=3\', \'\', ' + params + '); }
');
我把這個作爲表單提交的一部分。在這一行之後,我然後調用一個函數來通過ajax加載一些內容,它工作正常,並且會觸發on_change
函數中的代碼。
我測試了load_xml
函數,它能夠調用alert(param.xpos)
並得到正確的響應。我甚至可以在未定義的支票中添加,以便我撥打電話load_xml
的其餘時間不會被警報淹沒。
load_xml
函數首先設置on_change
函數,然後調用函數將內容加載到隱藏的div。一旦AJAX請求更新了DIV,on_change
函數現在應該調用parse_xml
函數。這將從xml文件中提取信息。但是......這個對象字面參數的概念是它可以告訴這個函數忽略某些東西。
on_change("window_" + this.id + "_cont_buffer", "", "Window_manager.windows[" + this.id + "].parse_xml('" + param + "')");
這是load_xml
一部分,它工作完全正常,即使在有帕拉姆位。除了parse_xml
似乎無法使用該參數。
我已經能夠得到它的一個點,parse_xml
可以alert(param)
,給[object object]
思想,我會意味着字面對象已經通過,但是當我嘗試並調用alert(param.xpos)
我得到了一個未定義。
我知道這是一個問題的豬,我可以通過讓函數花費數十億布爾參數來解決它,但它不是一個很好的解決方案。
不可否認的內聯函數是什麼,我從未想過關於......即使我去確保on_change可以處理功能的努力。 這應該意味着,當我通過PARAMS(這我甚至可以只是把直接在的地方)應該拿起因爲它是。 謝謝! – thecoshman 2010-03-24 12:55:26