Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] Funkcja w obiekcie
Fred1485
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 22
Dołączył: 10.02.2015

Ostrzeżenie: (0%)
-----


Kurde sprawa jest pewnie banalnie prosta ale dziś nie myślę, mam:

  1. var data = {
  2. validateInputData: function(input) {
  3. //
  4. },
  5. submit: function(e) {
  6. e.preventDefault();
  7. this.validateInputData(this.parentNode.surname.value);
  8. }
  9. }
  10. submit.onclick = submit;


Pewnie część z was juz kojarzy o co chodzi, najpierw chcę wywołać this.validate... w kontekście całego obiektu, ale parametr chcę przekazać w kontekscie elementu, gdzie this to jest oczywiście kliknięty input typu submit. JS nie poradzi sobie z takim czymś? (IMG:style_emoticons/default/sad.gif)

-----EDIT----

Sprawa oczywiście była prosta, w obiekcie trzeba tylko użyć data.validate... zamiast this.

Ten post edytował Fred1485 26.09.2015, 16:20:55
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Fred1485
post
Post #2





Grupa: Zarejestrowani
Postów: 361
Pomógł: 22
Dołączył: 10.02.2015

Ostrzeżenie: (0%)
-----


Haha to właśnie śmieszne bo dlatego użyłem cudzysłowów, żeby móc od liczby zacząć (IMG:style_emoticons/default/tongue.gif)

A co do this to nie do końca "czaję" o co ci biega, bo mogę w sumie ten button po kliknięciu przekazać jako parametr, ale i tak używając this "złapie" buttona.

  1.  
  2. var p = {
  3. a: function() {
  4. this.b();
  5. },
  6. b: function(){alert(this.value)}
  7. }
  8.  
  9. var button = document.blablabla;
  10. button.onclick = p.a;
  11.  
  12.  


Tutaj oczywiście wywali undefined ale przecież ty to wiesz dlaczego, to nie tłumaczę (IMG:style_emoticons/default/biggrin.gif)
Mi chodzi tylko o to, żeby z wewnątrz obiektu móc poprzez this wywołać funkcję b. Jak button dam np do parametru funkcji to nie widzę sposobu żeby ruszyło.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 06:04