2011-08-01 70 views
2

我試圖在用戶單擊某個按鈕時重新運行JavaScript塊。該網站是在CMS中創建的,因此我無法使用該按鈕來爲其指定ID。然而,在螢火蟲我注意到它有這些值 - >onclick事件 - 使用除id之外的其他按鈕調用按鈕

<input type="submit" value="Continue"> 

有反正我可以通過使用'繼續'的值調用?

FYI:按鈕編碼與PHP和我想重新運行以下

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> 

<script type="text/javascript"> 
    $(window).load(function resizePole(){ 
    var ht=($('#LayoutColumn2').height() > $('#LayoutColumn3').height()) ? 
    $('#LayoutColumn2').height() : $('#LayoutColumn3').height(); $('#lightPole').height(ht); }); </script> 

,我嘗試此使用來電:

onclick="return resizePole();" 

哦,我旁邊的一無所知知道javascript :)

鏈接到正在處理的頁面 - 您可能必須創建一個客戶帳戶。輸入一些jibberish,我可以刪除它後來

link to site

的問題是什麼:好吧,讓我來解釋一下應該發生。我創建了一個名爲「lightpole」的div,該div包含一個用javascript編碼的光柱的背景圖像,以匹配頁面加載時的「content」div的高度。在checkout_express頁面上,CMS系統的創建者創建了可擴展和可摺疊的div,引導用戶完成結帳過程。在第三步「運輸方式」中,用戶點擊「繼續」按鈕,展開「訂單確認步驟」。這個div會導致'content'div比初始加載時間要長,但是lightpole的大小隻能匹配內容的初始高度,而不是訂單確認步驟的高度,所以它會使光柱比實際上短需要是。

回答

1

這將工作。

$('[type="submit"][value="Continue"]').click(function() { 
{ 
    return resizePole(); 
}); 

編輯

正如在評論中指出,有做這一個更簡潔的方式。我通常使用上述習慣方法(使未來的邏輯更容易添加到點擊事件中)。

$('[type="submit"][value="Continue"]').click(resizePole); 

EDIT 2

要回答在評論這個問題 - 是的,你可以通過DIV ID以及過濾。這將附加到div內所有提交按鈕的點擊事件,其ID爲DivIdHere且值爲Continue。

$('#DivIdHere [type="submit"][value="Continue"]').click(resizePole); 

編輯3

這是一個有點髒,但看着你更新的質量要求之後,這應該做的伎倆。基本上,它會將click事件添加到頁面上的最後一個提交按鈕,其值爲continue(這似乎是基於您提供的鏈接的送貨部分)。

$('[type="submit"][value="Continue"]:last').click(resizePole); 
+0

他在他的問題中有JQuery語法;) – AlienWebguy

+0

@AlienWebguy,謝謝。我非常喜歡。 –

+0

什麼...爲什麼你要在匿名函數中返回一個函數的值? '函數(){返回一個();}'=='a' – Hello71