Dooling Posted October 15, 2008 Report Posted October 15, 2008 Situācija sekojoša: Ir trīs input lauki. Vienā laukā lietotājs ievada kādu vērtību, tad ar onkeyup notikumu tiek izsaukta javascript funkciju, kur pēc aprēķiniem piešķir otram input laukam konkrētu vērtību. Vai ir iespējams mainoties otrā lauka vērtībai izsaukt citu javascript funkciju? Mēģināju otrajā input laukam ar onChange notikumu izsaukt funkciju, bet netiek izsaukta funkcija.
Zandis Murāns Posted October 15, 2008 Report Posted October 15, 2008 Kāda problēma ir izsaukt to otru funkciju tajā brīdī, kad pirmajā javaskriptā tiek izmainīts otrais lauks?
Dooling Posted October 15, 2008 Author Report Posted October 15, 2008 Varbūt problēma tajā, ka javascript funkcija piešķir vērtību otram laukam vērtību, nevis lietotājs
andrisp Posted October 15, 2008 Report Posted October 15, 2008 Jā, tieši tā - tie eventi netiek izsaukti, ja JS maina vērtību. Bet pirmā elementa onchangā tu vari ielikt otraiselements.change() (Ja nemaldos, tad tā varēja izsaukt elementa piereģistrēto eventu).
Dooling Posted October 15, 2008 Author Report Posted October 15, 2008 Andri, varētu kādu nelielu piemēru vai kādu saitu uz literatūru, kā to domāji?
andrisp Posted October 15, 2008 Report Posted October 15, 2008 Zini - laikam gan tā nevar. Varbūt dari kā Zandis saka ? :)
bubu Posted October 15, 2008 Report Posted October 15, 2008 Zini - laikam gan tā nevar. Kā nevar? Man viss strādā ar: elem.onchange();
Grey_Wolf Posted October 16, 2008 Report Posted October 16, 2008 Varbūt problēma tajā, ka javascript funkcija piešķir vērtību otram laukam vērtību, nevis lietotājs Nu tieshi labi kur problema ?? function pirmaa() { otra(); tresaa(); } function otraa() { alert('otraa lauka aprekjinasana'); } function tresaa() { alert('tresaa lauka aprekjinasana'); } un izsauc nevis teiksim otro, bet gan pirmo , kur tiks izsaukta otra UN pec tam tresa funkcija kas aprekjinas to treso lauku ....
andrisp Posted October 16, 2008 Report Posted October 16, 2008 bubu, varēt var, bet this objekts fjas ietvaros nesaturēs referenci uz elementu. Tur tā problēma. Kaut gan to, protams, var apiet kaut kā.
bubu Posted October 17, 2008 Report Posted October 17, 2008 Uff, kautkā biju palaidis garām tavu atbildi. bubu, varēt var, bet this objekts fjas ietvaros nesaturēs referenci uz elementu. Kādā sakarā nesaturēs? Visu saturēs. Tev koda piemēru vajag? Lūdzu: <html> <head> <script> $ = function(id) { return document.getElementById(id); } window.onload = function() { $("aa").onkeypress = function() { $("bb").value += "x"; $("bb").onchange(); } $("bb").onchange = function() { $("cc").value += this.id + " "; } } </script> </head> <body> <input type="text" id="aa"/><br/> <input type="text" id="bb"/><br/> <textarea id="cc"></textarea> </body> </html> Rakstot pirmajā teksta laukā - otrajā rakstīsies "x" simbols. Un otrajam teksta laukam mainoties (tai skaitā, kad pirmais to maina) trešajā laukā rakstīsies otrā lauka id (izmantojot tavu "nestrādājošo" this).
andrisp Posted October 17, 2008 Report Posted October 17, 2008 (edited) Es laikam kaut ko nepareizi darīju (kad pats to mēģināju pārbaudīt)... :) Edited October 17, 2008 by andrisp
Recommended Posts