🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.javascript
Article #51646

Re: problem z formularzem

#51646
From: Cezary Tomczyk
Date: Sun, 06 Mar 2016 10:47
80 lines
2915 bytes
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/
Technical Details
Message-ID: <f0b99$56dc0adb$520da86c$2116@nntpswitch.blueworldhosting.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!2.us.feeder.erje.net!news.ripco.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!nntpswitch.blueworldhosting.com!not-for-mail
References: <nbfoiq$ulj$1@node2.news.atman.pl> <affac$56db6ddc$520da86c$1156@nntpswitch.blueworldhosting.com> <nbguak$dtb$1@node1.news.atman.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!2.us.feeder.erje.net!news.ripco.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!nntpswitch.blueworldhosting.com!not-for-mail
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: Sun, 6 Mar 2016 10:47:56 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0)  Gecko/20100101 Thunderbird/38.6.0
MIME-Version: 1.0
In-Reply-To: <nbguak$dtb$1@node1.news.atman.pl>
Message-ID: <f0b99$56dc0adb$520da86c$2116@nntpswitch.blueworldhosting.com>
X-Complaints-To: abuse@blueworldhosting.com
Organization: BWH Usenet NNTPSwitch-Cluster
Lines: 80
NNTP-Posting-Date: Sun, 06 Mar 2016 05:47:55 -0500
X-Trace: f0b9956dc0adbf7a80dc902116
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit