Jump to content
php.lv forumi

indoom

Reģistrētie lietotāji
  • Posts

    593
  • Joined

  • Last visited

Everything posted by indoom

  1. 'PKN-1/15'.split(/\//)[0] 'GN-1/15/100'.split(/\//)[0]
  2. http://php.lv/f/index.php?showtopic=2236
  3. Pirmkārt, visiem linkiem (<a> tagiem) iekš href nomaini & uz & Līdz ar to būs vismaz uz pusi mazāk to paziņojumu un vieglāk saprast. Izņem ārā visus id="" tukšos, jo kā jau tur teikts un vēl piemērs iedots, ka tukšus atribūtus nevar atstāt. id="clear" atkārtojas vairākas reizies, bet id var būt tikai vienu reizi deklarēts. Tak pie katras problēmas ir paskaidrojums kāpēc un arī dažreiz pat piemēri. Ja ir teikts there is no attribute "language", tad to tas arī nozīmē. Ka <script> tagam nevar likt language="" atribūtu, un tāpēc tas ir jāizņem utt utjp
  4. indoom

    input

    <form action="" method="post" onsubmit="if ((this.input1.value?1:0) ^ (this.input2.value?1:0)) { alert('nu gan'); return false; }"> <input type="text" name="input1" value="" /> <input type="text" name="input2" value="" /> <input type="submit" /> </form> EDIT: Ok, pielaboju ar XOR operatoru, ja jau tas tiek pieprasīts :]
  5. <script type="text/javascript"> var teksti = ['teksts1','teksts2']; </script> <div id="tekstiem"></div> <a href="#" onclick="document.getElementById('tekstiem').innerHTML = teksti[0]; return false;">1</a> <a href="#" onclick="document.getElementById('tekstiem').innerHTML = teksti[1]; return false;">2</a>
  6. Var arī JS mierīgi izmantot, jo reti, kad linkos liek html kodu pa vidu, varbūt pat tavā lapā tādu variantu vispār nebūs. "Downsidi", ko varu iedomāties, varētu būt tādi, ja lapa lēni lādēsies, tad rādīsies garie linki, kamēr skripts izpildīsies. Kā arī, ja jau php kodam netiec klāt, būs grūtāk izfiltrēt, kuriem linkiem tieši šo izmantot, vai tas ir links komentārā, vai kāds temata nosaukums portālā. Tādā gadījumā, ja uz komentāra linka nav kāda speciāla klase vai cita norāde, var pārbaudīt, kas ir linka nodes parentNode utmldz.
  7. Tāds mazohisms manā izpratnē, jo labāk to darīt ar php function truncLinks(){ var links = document.links; for (var i=0,l=links.length,cur,s,e,t;i<l;i++){ cur = links[i]; t = cur.textContent || cur.innerText; if (t && t.length > 15) { s = t.substr(0,4); e = t.substr(t.length-4); cur.innerHTML = s+'...'+e; } } } window.onload=truncLinks; Protams, labāl filtrēt katru linku, piem, skatīties vai ir vajadzīgā klase, vai tā, ka nav iekšā linkam bilde jeb html kods. Tad var sanāk ne tas ko gaidīji :] PS. bet vismaz ir jautri iekopēt kodu firebuga JS konsolē un palaist uz piem. šī foruma linkiem pirmajā lapā vai kādā sadaļā :]
  8. Uz IE elementi, kam grib pēc tam name nolasīt jātaisa citādāk document.createElement('<input name="name">'); crossbrowseru skripts varētu būt šāds function createNamedElement(type,name){ var element=null; try{ element=document.createElement('<'+type+' name="'+name+'">'); }catch(e){ element=document.createElement(type); element.name=name; } return element; } var el = createNamedElement('input','correct_'+id); el.type = 'radio';
  9. indoom

    Atstarpe, kā to labot?

    http://developer.mozilla.org/en/docs/Image...Mysterious_Gaps Tāpēc, ka tā arī ir mistiska
  10. indoom

    Atstarpe, kā to labot?

    Pieliec tai bildei stilu display:block; Tas atrisina it kā to atstarpi. Pielabo arī id="heder" uz id="header" (tas gan neko nemaina, tikai liekas, ka tur ir typo) un otrs variants - var arī to header uzlikt height:328px; jeb bildes augstumā. Tā atstarpe tiešām izskatās ļoti mistiska.
  11. Var jau izmantot iframe div vietā, un pārlādēt saturu tajā. Tad ajax nemaz nebūs vajadzīgs.
  12. pirmkārt to Skaita lauku uzliec kā <input type="text" nevis <textarea> otrkārt izņem to savu microsofta enter keya nospiešanas skriptu, jo tas tagad jauksies pa vidu. Saliec vajadzīgos ID un keyupus, un es jaunu rindu liku klāt kā jaunu rowu tabulai un noklonēju rindu, kurā atradās konkrētais lists, kopā ar skaitu. Ja tev tur ir citādāk, tad to newlist funkciju ir jāpārtaisa pēc vajadzības. Apmēram šitā. <table><tr><td><div><select id="Kods"><option /></select> <input type="text" id="skaits"></div></td></tr></table> Un tiek noklonēts tas div, kas ir starp <td></td> Tu vari to pārtaisīt pēc savas vajadzības.
  13. http://indoom.cgimage.lv/jstests/testautoIE2.htm Pieliku klāt parametrus target : 'list', skaits : 'skaits', kuros norāda target listu ID un skaits - skaita lauka ID, lai nav pie katra eventa jāraksta, jo tāpat visi listi ir ar vienādiem nosaukumiem. un papildus funkcija, jaunas rindas ievietošanai. Skaties sourci. un tad Meklētāja laukam nevajag norādīt listu id un jāiedod meklētāja laukam kādu ID, lai var uz to atgriezties <input id="inputs" type="text" value="" onkeyup="finder.flist(this)" onchange="finder.flist(this)" /> un tam skaita laukam jāpieliek onkeyup <input type="text" id="skaits" value="0" onkeyup="finder.newlist(this)" />
  14. http://indoom.cgimage.lv/jstests/testautoIE.htm Paskaties vai šis ir tas, ko domāji. Ieraksti netiek izņemti ārā, bet pirmais, ko atrod tiek atzīmēts kā selected. Nu vajadzētu darboties. Šis testēts uz IE6 un IE7 Kā arī visiem id jāliek vienāds nosaukums. <input type="text" onkeyup="finder.flist(this,'Kods')" onchange="finder.flist(this,'Kods')" value="" > Tavējais enter skripts nav vajadzīgs
  15. nja, dīvaini, ka teici sākumā, ka darbojas, jo izrādās uz IE option elementiem nemaz nevar display:none uzlikt vai kā citādi paslēpt. Var tikai izdzēst no saraksta. Bet tad, lai atjaunotu, jāpievieno pa jaunam. Šo IE stulbumu nezināju, tāpēc kaut kā nepārbaudīju sākumā uz IE :(
  16. ok, sorr, tā kā document.all ir tikai IE, tad neesmu to izmantojis. Izrādās tur ir document.all('kods',i); Uz IE tad var veidot vairākus vienādus id. if (!this.list) { i = 0; if (window.event.keyCode == 13){ i = i + 1; this.list = document.all('Kods',i); }else{ this.list = document.all('Kods',0);} } Increments neizpildīsies, jo ir pārbaude vai this.list pastāv vai nē, un tāpēc izpildīsies tikai pirmajā reize, kad list nebūs izveidots. To incrementu liec kādā citā vietā.
  17. document.all('Kods',i) Kas šis par pierakstu? ID dokumentā var atkārtoties tikai 1 reizi. Nevar trīs elementiem iedot vienādus ID 'kods', tad protams tiks atrasts tikai pirmais. Tāpēc liec klāt katram elementam klāt ciparu galā - 'kods1', 'kods2', 'kods3', un tad arī varēs tos atrast dokumentā ar document.getElementById('kods'+i); Un izskatās, ka taisi, lai darbotos tikai uz IE?
  18. Tad jau tavs inkriments nestrādā.
  19. finder.flist(document.getElementById('inputa_lauka_id'),'list'+i); Bet tad neizmanto pirmo, bet #11 posta skriptu PS. nākošreiz centies paskaidrot skaidrāk jau pašā sākumā. Apraksti ar darbības piemēru. Kaut grafiku uzzīmē.
  20. Ok, ja pareizi sapratu, tad ir viens input lauks, ar kuru meklē vispirms vienā listā, tad pēc enter nospiešanas meklē nākošajā? šitam tagad vajadzētu tā darboties Jānorāda maxinc : 3; cik daudz listi būs (cik lielu incrementu ļaut) un palaži ar onkeyup="finder.flist(event, this,'list')" onchange="finder.flist(event, this,'list')" tam 'list' tad klāt kabināsies skaitlis. Citi mainīgie vairs tur nav.
  21. Izmantojot enter, zūd dinamika. Tavā variantā var izmantot šādu kodu tad <script type="text/javascript"> var finder = { ftimer : 0, flist : function (el, target) { if (this.ftimer) { clearTimeout(this.ftimer); } this.ftimer = setTimeout(function () { finder.filter(el.value.replace(/^\s+/g,'').replace(/\s+$/g,''),target); el=null; },500); // meklē pēc noteikta intervāla, kad beidz rakstīt }, filter : function (t,target) { if (!(target = document.getElementById(target))) { return; } for(var i=0,e=target.options,l=e.length,c,f;i<l;i++) { c = e[i]; if (t === '') { // noņem filtru if (c.filter === true) { c.style.display = ''; c.filter = false; } e[0].selected = true; } else { // pieliek filtru f = c.value.toLowerCase().indexOf(t.toLowerCase()) === -1; c.filter = f; c.style.display = f ? 'none' : ''; if (!f) { c.selected = true; } } } } }; </script> un palaiž ar <input type="text" value="" onkeyup="finder.flist(this,'list1')" onchange="finder.flist(this,'list1')" /> kur 'list1' ieraksti meklējamā lista id
  22. Papildināju sākotnējo skriptu ar loopu, kas iet cauri visiem sarakstiem. Jānorāda meklējamo listu id arrayā if (!this.list) { this.list = [document.getElementById('list1'),document.getElementById('list2'),document.getElementById('list3')]; } Nesapratu, kāpēc tas enter vajadzīgs?
  23. saglabā kūkijā, kad kaut ko izvēlas, un tad ielādējot lapu, nolasi no kūkija.
  24. Uz ātro uzmetu šādu piemēru Meklē selectā vārdus, kas satur ierakstītos simbolus
  25. ifs nevis apjuks, bet iemetīs sejā lielu, treknu erroru Jā IF atgriež FALSE, tad tas neizpildīsies. Pārbaudi, ko esi ierakstījis IFā un ko tas atgriež. Lai izpildītos ir jābūt atgrieztam TRUE
×
×
  • Create New...