(X)HTML, JavaScript, DHTML, XML, CSS Client scripting tehnologije, Dynamic HTML, Cascading Stylesheets, XML i standardi |
![]() |
|
Alati teme | Način prikaza |
|
![]() |
#1 | ||
Ivan Dilber
Sir Write-a-Lot
|
![]() Citat:
![]() Sto se tice toga zasto $('btn2').click() pozove dvaput alert, to nisam ni primetio prvi put... ![]() EDIT: U stvari evo provalio sam u cemu je fora, evo sta kaze help za trigger metodu: Citat:
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 16. 03. 2007. u 11:30. |
||
![]() |
![]() |
![]() |
#2 | |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Citat:
Ajde sad, nije nešto ekstra bitno, cela stvar liči pomalo na akademsku raspravu (ko ikad ručno zove onClick?), ali ovo mi pravi relativno ozbiljan problem u jednoj real-life situaciji: Submit na form elementu ne okida onsubmit event ako se poziva ručno iz javaskripta (form.submit()). To je tako nevezano za jQuery, proizvođači browsera su jednostavno tako uradili. S obzirom da ASP.NET dobar deo postbackova radi preko form.submit(), MS je dodao parče javascripta koji ručno poziva onsubmit event pre submitovanja forme. E sad, zbog navedenog problema sa jQuery-jem, nijedna akcija koju na formu nakačim putem $('form').submit(funkcija) se ne izvrši. Rešio sam problem tako što onsubmit event kačim na stari način, umesto putem jQuery-ja. I nerviram se zato što moram da pravim workaround za nešto što samo po sebi treba da ti olakša život... ![]() |
|
![]() |
![]() |
![]() |
#3 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Hm, otvorio sam ticket i napisao sam peč, baš me interesuje da li će završiti u nekoj od sledećih verzija jQuery-ja...
![]() http://dev.jquery.com/ticket/1053 |
![]() |
![]() |
![]() |
#4 |
Ivan Dilber
Sir Write-a-Lot
|
![]() palo mi je na pamet jedno sumanuto resenje za takav problem: over-rajdovati ugradjeni submit metod forme i onda umesto submita forma, dodati submit dugme i pozvati click() na njega. Zacudo ovo lepo radi u kombinaciji sa jQuery i u FF i u IE
Znam da nije narocito korisno, ali evo cisto kao proof of the concept: PHP kôd:
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 16. 03. 2007. u 15:10. |
![]() |
![]() |
![]() |
#5 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Izgleda ok, kad stignem isprobaću kako se ponaša unutar ASP.NET-a (ovako kako stoji sad mislim da bi se alert pozivao dvaput), a i nisam potpuno siguran kako će .NET da reaguje na postback izazvan dinamički kreiranom kontrolom...
|
![]() |
![]() |
![]() |
#6 |
Ivan Dilber
Sir Write-a-Lot
|
![]() evo, uspeo sam da uradim ono sto sam prvobitno zeleo, mnogo elegantnije resenje:
HTML kôd:
<html> <head> <title></title> <script type="text/javascript" src="jquery-latest.js"></script> <script type="text/javascript"> $(function() { var submit_form = $('form').get(0).submit; //zapamtimo ugradjeni submit $('form').submit( function() { alert('Ovo je onSubmit handler'); // return false ovde ce spreciti submitovanje forme }); // preuzmemo submit metodu forme $('form').get(0).submit = function() { //vratimo ugradjeni metod da izbegnemo rekurziju $(this).get(0).submit = submit_form; $(this).submit(); // i uradimo submit + jQuery pozove handler } }); </script> </head> <body> <form name="frm" method="get" action=""> <input type="hidden" name="aaa" value="bbb" /> <input type="button" id="btn2" value="btn2" onclick="this.form.submit()" /> </form> </body> </html>
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 16. 03. 2007. u 16:47. |
![]() |
![]() |
![]() |
#7 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Jašta, to je to. Ultimate ASP.NET/jQuery submit() fix, dok ovi ne isprave jQuery...
Evo ASP.NET kôda koji ilustruje problem sa komentarisanim fixom, preveo sam komentare ako još nekom nesrećniku zatreba: Kôd:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> <script type="text/javascript" src="jquery-latest.js"></script> <script type="text/javascript"> $(function() { $('#form1').submit( function() { alert('submit'); } ); /* // Ivanhoe's form.submit() fix: uncomment to put it in action var submit_form = $('form').get(0).submit; // remember default method // take over form's submit() $('form').get(0).submit = function() { // revert to default one to avoid recursion $(this).get(0).submit=submit_form; $(this).submit(); // do the submit + jQuery calls the handler } */ }); </script> </head> <body> <form id="form1" runat="server"> <div> <asp:LinkButton ID="LinkButton1" runat="server">LinkButton</asp:LinkButton> <asp:Button ID="Button1" runat="server" Text="Button" /> </div> </form> </body> </html> |
![]() |
![]() |
![]() |
|
|
![]() |
||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
jQuery hover | Damjan | (X)HTML, JavaScript, DHTML, XML, CSS | 11 | 11. 09. 2008. 13:57 |
Redizajniran jquery.com | kaizen | Opušteno | 13 | 06. 09. 2008. 14:29 |
jQuery i Ext | Ilija Studen | (X)HTML, JavaScript, DHTML, XML, CSS | 7 | 02. 03. 2007. 11:25 |