Jump to content
php.lv forumi

indoom

Reģistrētie lietotāji
  • Posts

    593
  • Joined

  • Last visited

Posts posted by indoom

  1. var input = document.createElement("input");
    input.name = "asdf";
    div.appendChild(input);

     

    Šito jātaisa mazliet savādāk

    IE neņems vērā šādi dinamiski veidotus formas inputus ar name atribūtu

    http://php.lv/f/index.php?s=&showtopic...ost&p=82840

     

    EDIT: Precizēšu, ka tas vairāk attiecas, ja, pēc izveidošanas, grib to lauku IE nolasīt, izmantojot name atribūtu. Uz submitošanu tas gļuks neattiecas.

  2. return false ir nepieciešams, ja negrib, lai izpildas submit poga, uz kuras tas onclick ir uzlikts. (ja nu vienīgi tas submit neatrodas iekš formas, tad vispār būtu muļķīgi izmantot input submit)

    JS nav tik piekasīgs uz ; aiz variabļiem, ja tie ir katrs jaunā rindā.

    Vaina bija atstarpē "ask bill", kā jau iepriekš rakstīju

  3. nu pats arī atbildēji. Apstaigā visus child elementus un nomaini id.

     currentnum = 1;
    // cikls
    oldid = newrow.cells[i].childNodes[ii].id; // kkads_div1
    newrow.cells[i].childNodes[ii].id = oldid.substr(0, oldid.length - (currentnum+'').length) + (currentnum + 1); // kkads_div2

  4. Nezinot kodu, neko daudz tev nevarēs palīdzēt

    Atbilde ir: ar ciklu izejot cauri katram cellam un nomainot id pēc vajadzības

    var newidnum = 2;
    for (var i = 0, l = newrow.cells.length; i < l; ++i) {
     newrow.cells[i].id = 'identifikators' + newidnum;
    }

    newrow ir jaunpievienotās rindas elements

  5. IE nepatīk, ka loga nosaukumam ir atstarpe. Nomaini ask bill uz askbill un vajadzētu darboties.

     

    Par papildus jautājumu - java nav tas pats, kas javascript!

    Un ir skripts, kas aizver logu, ja logs ticis atvērts ar window.open(). Aizvērt var ar self.close();

  6. Man neliekas gudri likt oriģinālam getam un postam virsū funkciju.

    Labāk ielikt mainīgajā, piem.,

    $get = array_map('returnSafe',$_GET);

    vai

    $post = array_map('returnSafe',$_POST);

     

    Kā arī, kad liek mysql_real_escape_string, tad nepieciešams pārbaudīt vai nav magic quotes un iztīrīt tās, lai nesanāk noslešot dubultā

    Piemēram:

    function returnSafe($data, $trim=true) {
    if ($trim) $data = trim(data);
    return !is_numeric($data) ? mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes($data) : $data) : $data);
    }

     

    htmlspecialchars labāk likt, kad teksts tiek atgriezts no datubāzes, kad nepieciešams. Arī mazāk vietas aizņems datubāzē, kā arī netiek sabojāts oriģināls.

  7. var aktivais = null;

     

    <input id="laukavards1" type="text" onfocus="aktivais=this.id" />

    <input id="laukavards2" type="text" onfocus="aktivais=this.id" />

     

    utt

     function insert_stuff(){
    if (aktivais !== null) { document.getElementById(aktivais).value = 'aktīvais'; }
    }

     

     

    EDIT: noņēmu onblur, jo spiežot kādu pogu, tas onblur iedarbotos uz inputu vienalga. Sanāk noteikt nevis konkrēti fokusēto, bet pēdējo fokusēto lauku

     

    Vislabākais variants, ja ir zināma atrašanās laukam pret pogu, tad izmantot relatīvo ceļu līdz inputam sākot no pogas.

  8. $ifimage = preg_match_all('@https?://.+?(?:\.jpg|\.bmp|\.gif|\.jpeg)@i', $row['text'], $matches);

     

    var arī linkiem, kuros var nebūt http

    $ifimage = preg_match_all('@(?:https?://)?[^\'"\s]+?(?:\.jpg|\.bmp|\.gif|\.jpeg)@i', $row['text'], $matches);

  9. neiedziļinoties baigi, pirmais, ko pamanīju, ka 22. rindā (no tā linka)

    if(name_length >= min_pass && name_length <= max_pass){

     

    min_pass un max_pass vietā noteikti domāts min_name un max_name

     

    Bez tam pamēģini izmantot if, else if un else

     

    Piemēram

    if(name_length < min_name){
    isNameError = 1;
    var name_error = "Lietotājvārds par īsu!\n";
    }
    else if(name_length > max_name){
    isNameError = 1;
    var name_error = "Lietotājvārds par garu!\n";
    }
    else {
    isNameError = 0;
    }

  10. Nevajag optioniem nekādu id

     

    tam <select id="discounts_id" name="discounts_id" onChange="description();"> nomaini uz onChange="description(this);"

     

    un JS ir vienkāršs

     

    function description(el) {
    var value = el.options[el.selectedIndex].title;
    alert(value);
    //document.getElementById('description_value').innerHTML = value;
    }

     

    PS. neaizmirsti sarakstīt tiem optionu title="" arī kaut kādu tekstu iekšā

  11. Uz arraya jau nevar likt onclick eventu.

    Nav jau jquery objekts.

     

    Un arī, ja liec uz to sup to rowIndex, tad izmanto parentNode (vai ko citu) līdz tr un nolasi rowIndex no tā.

    Iekš funkcijas this būs tas elements, uz kura uzlikts onclick, respektīvi, tas sup. Tātad this.parentNode.parentNode.rowIndex (sup -> td -> tr)

×
×
  • Create New...