2013-01-25 101 views
0

我想在未發送Ajax請求的情況下提交表單時更改元素。並且無法弄清楚如何正確編寫它並生成我想要的代碼。如何使用JSH更改另一個元素的事件中的元素

在CakePHP觀點,我有:

$this->Js->get('#testForm')->event('submit', $this->Js->get('#fastRegisterForm')->effect('show')); 

而且它產生:

$(document).ready(function() { 
    $("#fastRegisterForm").bind("submit", function (event) { 
     $("#fastRegisterForm").show(); 
     return false; 
    }); 
}); 

我想有:

$(document).ready(function() { 
    $("#testForm").bind("submit", function (event) { 
     $("#fastRegisterForm").show(); 
     return false; 
    }); 
}); 

回答

1

我想你應該設置它在不同的辦法。

$eventCode = $this->Js->get('#fastRegisterForm')->effect('show'); 

$this->Js->get('#testForm')->event('submit', $eventCode); 

蛋糕可能會得到「混亂」,當你調用另一個js->get一個js->get

+0

這是我的問題的解決方案。但無論如何,我會寫所有的jQuery。 JSHelper吸了一點。 – 23kulpamens

+0

通常,我使用jQuery代碼而不是JsHelper。我覺得我有更多的靈活性,並藉此機會學習更多的jQuery。 –

1

內忘記JsHelper寫jQuery代碼自己。

+0

雖然這兩種方式都很好。但是,如果您遇到問題,我同意您的看法,只需堅持使用jQuery編碼,因爲所有Cake都會將提供給它的php代碼轉換爲jQuery代碼。 –

+0

沒有任何真正的需要知道如何使用JsHelper。除了做基本的事情,它通常會阻礙你而不是提高你的開發速度。使用PHP包裝生成jquery代碼並不是真的有意義,因爲您可以更快,更高效地直接編寫jquery代碼。這就是爲什麼JsHelper將在CakePHP 3.0中被刪除 – ADmad

+0

我很少使用JsHelper,如果不是永遠不會的話。無論如何,在任何時候都需要直接在jQuery中編寫代碼來提高你的技能。那麼爲什麼不呢!我也直接爲我的CakePHP編程使用jQuery。 –

相關問題