Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Nakładające się na siebie instrukcje w skrypcie
sebap123
post 14.12.2011, 07:18:31
Post #1





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


Mam pewnie problem w kodzie strony która pisze przy pomocy Javascript z wykorzystanie jQuery. Chodzi o to, że po dodaniu pól input do pliku i przypisaniu do nich akcji działa zawsze ta ostatnia - jeśli są dwa pola działa drugie, jeśli trzy trzecie itd.
W internecie znalazłem tak na prawdę dwa rozwiązania, a raczej podpowiedzi jednak nie mogę cały czas uzyskać swojego efektu.
Pierwsza było to, żeby funkcja miała inne nazwy (argumenty), u mnie to zawsze występuje, ale dla pewności jeden input po prostu wyświetla alert podczas gdy drugi odwołuje się do docelowej funkcji.
Drugą podpowiedź przedstawię po przedstawieniu kodu:
[JAVASCRIPT] pobierz, plaintext
  1. newRow.innerHTML = "<a href='#' class='editName'>"+ddList.ddElements[ddList.ddEl.id]+'</a>';
  2. newRow.innerHTML += ' X:<input type="text" id="x'+ddList.ddEl.id+'" name="x'+ddList.ddEl.id+'" size=3 value=0>';
  3. var xField = document.getElementById('x'+ddList.ddEl.id);
  4. xField.relatedElement = newRow;
  5. newRow.innerHTML += ' Y:<input type="text" id="y'+ddList.ddEl.id+'" name="y'+ddList.ddEl.id+'" size=3 value=0>';
  6. var yField = document.getElementById('y'+ddList.ddEl.id);
  7. yField.relatedElement = newRow;
  8. $(xField).blur(function(){alert('Handler for X.blur() called.')});
  9. $(yField).blur(function(){ddList.setObjectPosition(yField,obj,'y');});
  10. if(RegExprText.test(ddList.ddEl.id))
  11. {
  12. newRow.innerHTML += '<br>Kolor:';
  13. var element = document.createElement('input');
  14. element.setAttribute('id', 'c'+ddList.ddEl.id);
  15. element.setAttribute('name', 'c'+ddList.ddEl.id);
  16. element.setAttribute('type', 'text');
  17. element.setAttribute('class', 'color');
  18. element.setAttribute('size', '6');
  19. newRow.appendChild(element);
  20. var myPicker = new jscolor.color(element, {});
  21. $(element).blur(function(){ddList.setColor(element,obj);});
  22. }
  23. var links = newRow.getElementsByTagName('a');
  24. var editLink = links[links.length-1];
  25. editLink.relatedElement = newRow;
  26. $(editLink).click(function(){ddList.deleteObject(obj,newRow);});
[JAVASCRIPT] pobierz, plaintext

Druga podpowiedź, mówi żeby najpierw zrobić xField.relatedElement a potem newRow.innerHTML, jednak tutaj nie wiem jak mam to zrobić, skoro później mam dopiero przypisanie obiektu do xField.

Ciekawe jest również to, że zawsze działa ostatnia linijka kodu, czyli akcje editLink.
Będę wdzięczny za podpowiedzi.

Czy ktoś może i pomóc z tym problemem?
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 18:46