Я читаю Начиная с CakePHP, и сделать это так, что вы можете голосовать за комментарии, он говорит вам, чтобы создать пару AJAX ссылки:
<?=$ajax->link('<li>up</li>',
'/comments/vote/up/'.$comment['Comment']['id'],
array('update' => 'vote_'.$comment['Comment']['id']),
null, false);?>
<?=$ajax->link('<li>down</li>',
'/comments/vote/down/'.$comment['Comment']['id'],
array('update' => 'vote_'.$comment['Comment']['id']),
null, false);?>
Это отлично работает в IE, но в FF это Безразлично» ничего не делайте. Он даже не доходит до контроллера или модели, потому что созданные им ссылки ничего не делают.
HTML, он генерирует выглядит следующим образом:
<a id="link2128392960" onclick=" event.returnValue = false; return false;" href="/blog/comments/vote/up/1"/>
<li>
<a id="link2128392960" onclick=" event.returnValue = false; return false;" href="/blog/comments/vote/up/1">up</a>
</li>
<script type="text/javascript">
//<![CDATA[
Event.observe('link2128392960', 'click', function(event) { new Ajax.Updater('vote-1','/blog/comments/vote/up/1', {asynchronous:true, evalScripts:true, requestHeaders:['X-Update', 'vote-1']}) }, false);
//]]>
</script>
Хорошо объяснил! Я не видел рассмотрения inline vs. block element. – Kai
Ты был прав, спасибо. – Rob