2012-09-06 157 views
0

我正在嘗試使用Web開發人員工具「Web控制檯」以及「Firebug」。我試圖模擬當我點擊此按鈕時發生的情況,方法是輸入腳本到webconsole,但它不起作用。有人能幫我弄清楚在Web控制檯中輸入什麼嗎?我問我的老闆,但他說這是最後一根稻草!請幫忙。Web控制檯命令不起作用

這裏是按鈕的代碼....

<div id="car_perf_internal" style="display: inline;"> 
    <span style="float:left;"> </span> 
    <div class="select_box right nccDropToggleSection"> 
    <a id="Left" class="NCCPUSHBUTTON" href="javascript:;" onclick="iToggleDisplay(this, 'nccDropToggleSection', 'nccDropToggleContent', null, null, 2);"> 
    <span> 
<input id="buttons_K_NC_TITLE" class="NCCPUSHBUTTON" type="button" value="Performance Documents" name="buttons_K_NC_TITLE"> 
</span> 
</a> 

我試着進入到這個Web控制檯,但它說「類型錯誤:一個是未定義」

iToggleDisplay('Left', 'nccDropToggleSection', 'nccDropToggleContent', null, null, 2); 
+0

你傳遞一個字符串函數'「Left''而不是元素節點'的document.getElementById(」左')' 。這是什麼原因導致我不知道這個特定的錯誤信息,但我想如果你將正確的參數傳遞給函數,它會有所幫助。 –

回答

0

看樣子您需要將引用傳遞給元素,而不僅僅是一個id。

iToggleDisplay(document.getElementById('Left'), 'nccDropToggleSection', 'nccDropToggleContent', null, null, 2); 

另一個選項是調用點擊

var elem = document.getElementById("Left"); 
elem.onclick.apply(elem); 
+0

謝謝Epscarello,這似乎是接近,但現在它返回'假',你有什麼想法,爲什麼這可能是? –

+1

返回false?你在說什麼?那功能正在返回和控制檯報告? – epascarello

+0

你說這是 –

2

Left不是一個DOM元素,它的ID值。你需要將其轉換爲一個元素:

iToggleDisplay(document.getElementById('Left'), 'nccDropToggleSection', 'nccDropToggleContent', null, null, 2); 
+0

感謝亞當,這似乎是接近,但現在它返回'假',你有任何想法,爲什麼這可能是? –

+0

@FirstLast爲我們提供了iToggleDisplay功能的代碼 – kannix

+0

,您只需偷走它並自己使用它!我已經有人做了這個,我已經燒了! –

0

如果你把一些代碼的HTML事件屬性,然後this指向DOM對象(在你的情況與ID Left的鏈接)。爲了得到這一點,你可以通過ID與document.getElementById功能得到它:

iToggleDisplay(document.getElementById('Left'), 'nccDropToggleSection', 'nccDropToggleContent', null, null, 2); 

但你可以模擬按鈕點擊這樣:

document.getElementById('Left').click(); 
+0

感謝斯巴達克斯,這似乎是接近的,但現在它返回'假',你有任何想法,爲什麼這可能是? –

+0

它應該去一個不同的頁面,因爲它是一個鏈接 –

+0

讓我試試這個...當我嘗試這個... iToggleDisplay(文檔。getElementById('car_perf_internal'),'nccDropToggleSection','nccDropToggleContent',null,null,2);它返回'真'... –

0

你必須通過實際的DOM節點,而不是id作爲第一個參數

所以不是

iToggleDisplay('Left', 'nccDropToggleSection', 'nccDropToggleContent', null, null, 2); 

應該

iToggleDisplay(document.getElementById('Left'), 'nccDropToggleSection', 'nccDropToggleContent', null, null, 2); 

因爲this指節點本身