Jump to content
php.lv forumi

indoom

Reģistrētie lietotāji
  • Posts

    593
  • Joined

  • Last visited

Posts posted by indoom

  1. 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

  2. <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 :]

  3. <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>

  4. 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.

  5. 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ļā :]

  6. 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';

  7. 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.

  8. 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.

  9. 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)" />

  10. 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

  11. 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 :(

  12. 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ā.

  13. 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?

  14. 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.

  15. 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

  16. Ja jau lapas izmēru vajag, varbūt šis der. Ņemts, liekas, no quirksmode sen atkapaļ.

    function getPageSize() {
    var xScroll,yScroll;
    if (window.innerHeight && window.scrollMaxY) {	
    	xScroll = document.body.scrollWidth;
    	yScroll = window.innerHeight + window.scrollMaxY;
    } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
    	xScroll = document.body.scrollWidth;
    	yScroll = document.body.scrollHeight;
    } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
    	xScroll = document.body.offsetWidth;
    	yScroll = document.body.offsetHeight;
    }
    return [ xScroll, yScroll ];
    }

  17. $cik_exp_pievienot = 10000 nav ";"

     

    un aiz if ($result == 'key_ok') vajag {

     

    un noņemt pirms elseif un else }

     

    Noformē tekstu ar pareizām atkāpēm no malas, tad būs pašam vieglāk tādas kļūdas ieraudzīt

×
×
  • Create New...