Article View: pl.comp.lang.ruby
Article #129page[id] w RJS i $(id) w Prototype
From: Jaroslaw Zabiello
Date: Wed, 09 Aug 2006 16:20
Date: Wed, 09 Aug 2006 16:20
22 lines
1716 bytes
1716 bytes
Aby sprawdzić w Prototype czy istnieje element o danym id, wystarczy
napisać: if ($(id)) { ... }. Chciałbym to samo zrobić w RJS, ale to nie
działa. Tzn. page[id] *zawsze* istnieje i zwraca jakiś obiekt
#<ActionView::Helpers::JavaScriptElementProxy:0x37f332c>
RJS:
if page[id]
# zawsze tu wchodzi nawet jak document.getElementById(id) nie istnieje!
end
Próbowałem przyjrzeć się bliżej temu obiektowi, ale p page[id].methods
wyświetla mi tylko #<ActionView::Helpers::JavaScriptElementProxy:0x37f332c>
Kompletnie nie wiadomo co on robi. W api.rubyonrails.pl też nie można nic
znaleźć na temat JavaScriptElementProxy. Ostatecznie musiałem w RJS użyć
chamskiego JavaScripta za pomocą page << mój kod js. page[id].empty? czy
page[id].is_empty? też nie działa, wywala pewnie jakiś błąd JavaScriptu
(nie wiem na co to jest tłumaczone), bo ani w logu ani spod plugina FireBug
nic nie mogę zobaczyć.
--
Jarosław Zabiełło
http://blog.zabiello.com
Technical Details
Message-ID:
<1rmabj0apzrfc$.exi8a3zgp9qr.dlg@40tude.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: Jaroslaw Zabiello <hipertracker@gmail.com> Newsgroups: pl.comp.lang.ruby Subject: page[id] w RJS i $(id) w Prototype Date: Wed, 9 Aug 2006 17:20:58 +0100 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 22 Message-ID: <1rmabj0apzrfc$.exi8a3zgp9qr.dlg@40tude.net> NNTP-Posting-Host: 213.190.141.10 Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1155140462 21830 213.190.141.10 (9 Aug 2006 16:21:02 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Wed, 9 Aug 2006 16:21:02 +0000 (UTC) X-User: newsgate2 User-Agent: 40tude_Dialog/2.0.15.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit