Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.lang.javascript > #3234
| Subject | Re: problem z formularzem |
|---|---|
| Newsgroups | pl.comp.lang.javascript |
| References | <nbfoiq$ulj$1@node2.news.atman.pl> <affac$56db6ddc$520da86c$1156@nntpswitch.blueworldhosting.com> <nbguak$dtb$1@node1.news.atman.pl> |
| From | Cezary Tomczyk <cezary.tomczyk@gmail.com> |
| Date | 2016-03-06 10:47 +0000 |
| Message-ID | <f0b99$56dc0adb$520da86c$2116@nntpswitch.blueworldhosting.com> (permalink) |
| Organization | BWH Usenet NNTPSwitch-Cluster |
On 06/03/2016 09:47, Łukasz wrote:
> W dniu 06.03.2016 o 00:38, Cezary Tomczyk pisze:
>> Zamiast inline event handlerów zrób to poprawnie:
>>
>> $('#btnSave').click(pliki_edytuj);
>>
>> https://jsfiddle.net/sygd9aa3/1/
>>
>
> Cześć.
> Próbuję zrobić jak piszesz, czyli button wygląda tak:
> <button type="button" id="12345" class="btn btn-primary">Dodaj /
> Zmień</button>
>
> i do tego wywołanie:
> <script type="text/javascript">
> $('#12345').click(pliki_edytuj);
> </script>
>
> Jednak funkcja pliki_edytuj nie jest wywoływana.
> Co tu robię źle?
Podejrzewam, że "pliki_edytuj" jest niezdefiniowaną referencją.
Odwołujesz się do czegoś, co nie istnieje.
Zrób tak:
1. W Google Chrome w narzędziach developera ustawi breakpoint na linię:
$('#12345').click(pliki_edytuj);
2. Jak przeglądarka podczas uruchomienia aplikacji zatrzyma się na tym
breakpoincie to najedź myszką na pliki_edytuj i sprawdź, jaki będzie
rezultat. Są dwie opcje: undefined albo function.
Jeśli będziesz miał undefined, co jest wysoce prawdopodobne, to znaczy,
że odwołujesz się do funkcji, do której nie masz dostępu. Musisz mieć
dostęp do funkcji pliki_edytuj.
Przykład:
kontekst globalny window
var pliki_edytuj = (function() {
function pliki_edytuj() {
window.alert('pliki_edytuj');
}
}());
pliki_edytuj();
Uruchomienie powyższego kończy się błędem:
Uncaught ReferenceError: pliki_edytuj is not defined
https://jsfiddle.net/tv65wf7k/
Jeśli jednak zrobisz:
var pliki_edytuj = (function() {
function pliki_edytuj() {
window.alert('pliki_edytuj');
}
return pliki_edytuj;
}());
pliki_edytuj();
to otrzymasz rezultat window.alert();
https://jsfiddle.net/tv65wf7k/1/
--
Cezary Tomczyk
http://www.ctomczyk.pl/
Back to pl.comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar
problem z formularzem Łukasz <lukaszWy@rostalskiTnijTo.pl> - 2016-03-06 00:02 +0100
Re: problem z formularzem Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2016-03-05 23:38 +0000
Re: problem z formularzem Łukasz <lukaszWy@rostalskiTnijTo.pl> - 2016-03-06 10:47 +0100
Re: problem z formularzem Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2016-03-06 10:47 +0000
Re: problem z formularzem Łukasz <lukaszWy@rostalskiTnijTo.pl> - 2016-03-06 13:16 +0100
Re: problem z formularzem Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2016-03-06 12:34 +0000
Re: problem z formularzem Łukasz <lukaszWYWALto@rostWYWALtoalski.pl> - 2016-03-07 11:55 +0100
Re: problem z formularzem Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2016-03-07 11:36 +0000
Re: problem z formularzem Łukasz <lukaszWYWALto@rostWYWALtoalski.pl> - 2016-03-07 13:57 +0100
csiph-web