andrisp Posted June 9, 2006 Report Posted June 9, 2006 Ir šāds javascripts - http://paste.php.lv/3887 Kāpēc klikojot uz tiem inputiem visiem kā viens izlec skaitlis 3 ? Man kaut kā likās, ka vajadzētu būt 1 priekš pirmā, 2 priekš otrā utt.
bubu Posted June 9, 2006 Report Posted June 9, 2006 Tāpēc, ka i tev ir globāls mainīgais. Un pēdējā tam piešķirtā vērtīa ir 3, tāpēc to arī tas vienmēr rādīs.
andrisp Posted June 10, 2006 Author Report Posted June 10, 2006 Ok, saprotu. Bet kā man vispār darīt, lai es, piemēram, varetu alert'ot uzklikotā inputa saturu (Ja tāds būtu)?
bubu Posted June 10, 2006 Report Posted June 10, 2006 Rakstu no galvas, tāpēc varbūt būs jāpielabo kļūdiņas: <html><head> <script> window.onload = function() { document.getElementById("xxx").onclick = function(event) { // IE un FF atshkjiriibas event = (event ? event : window.event); var elem = (event.target ? event.target : event.srcElement); alert(elem.value); } } </script> </head> <body> <input id="xxx" value="abc"/> </body> </html>
andrisp Posted June 12, 2006 Author Report Posted June 12, 2006 Bet kā to pašu uztaisīt, lai neizmantotu ID, bet klases ?
bubu Posted June 12, 2006 Report Posted June 12, 2006 Tak id man tur tikai vajadzīgs, lai piesaistītu to anonīmo funkciju tam input lauciņam. Kā tu to elementu sev dabū tā ir pavisam cita problēma. Galvenais jau ir dabūt to elementu iekš kāda mainīgā un tad piešķirt tam to funkciju: var elem = ....; elem.onclick = function(event) { ... } Tu pats taču tā patās dari: input_int.onclick = function () { ...
andrisp Posted December 1, 2006 Author Report Posted December 1, 2006 (edited) Celšu veco topiku augšā, bet tikko atkal aktuāla bija šī lieta, tāpēc gribu iepostēt atrisinājumu savai vecajai problēmai: var inp = document.getElementsByTagName('input'); for (var i = 0; i < inp.length; i ++) { x(inp, i); } function x(inp, i) { inp[i].onclick = function() { alert(i); } } Edited December 1, 2006 by andrisp
Recommended Posts