Tag Archives: IE

Kaip pakeisti formos atributą action?…

Šis įrašas tikriausiai bus paskutinis šiais metais, ir džiaugiuos, kad jis galbūt bus naudingas ir kitiems, o gal kas nors parodys paprastesnį sprendimą man iškilusiai problemai.
Taigi taip susiklostė, kad prisireikė dinamiškai keisti formos atributą “action”, viskas atrodytų labai paprasta, vos pora JavaScript eilučių…
$("#my-form").attr('action', 'http://www.my-super-duper.com/post-url');
… ir problemos nebėra, tačiau mano atvėju tai negelbėjo, nes mano formoje buvo paslėptas input elementas, kurio pavadinimas buvo “action”, o mielas programuotojų draugas Internet Explorer 7 jį pamatęs tokioje situacijoje ima ir pasimeta, ir nebežino ką daryti. Paprasčiausias būdas tikriausiai atsisakyti paslėpto elemento vardu “action”, tiesiog kartais tai padaryti neleidžia aplinkybės (trečios šalies kodas ir pan.), tad tenka sugudrauti…

//...
var form = $('#my-form');
form.children('input[name=action]').remove();
form.attr('action', 'http://www.my-super-duper.com/post-url');
from.append($('<input type="hidden" name="action" value="1" />'));
//...

Gudrybė paprasta, iš formos pašalinam elementą vardu “action”, pakeičiam formos atributo “action” reikšmę ir formoje sukuriame naują elementą vardu “action” ir taip paprastai apgauname IE7. Dar šiokia tokia pastabėlė, bent jau man, prieš darant pakeitimus atribute, jis turėjo būti užpildytas, t.y. negali būti tuščias.

Tikiuos bent jau ateityje padėsiu kam nors sutaupyti bent keleta minučių :)

Su praėjusiom šventėm ir laimingų Naujųjų metų :)

Eksperimentinis langų kamuoliukas

Kaip visad rytais peržiūrėdamas šiandienos naujienas aptikau įdomų Javascript eksperimentą, tai kamuoliukas kuris gali keliauti tarp naršyklės langų. Įdomiausia yra tai, kad langai turi, nors šiek tiek užeiti vienas, ant kito, kad kamuoliukas galėtų “periti” į kitą langą. Taip pat nepavyks kamuoliuko perkelti į kitą lagą jei, langas buvo sukurtas, ne paspaudus nuorodą iš pagrindinio kamuoliuko lango. Pasak autoriaus tai turėtų veikti su Firefox, Google Chrome, Safari naršyklėmis, kaip visada IE visos versijos yra už borto. Žinių apie Operą nėra, jei veiks brukštelkit komentaruose. Ačiū Pawka už patvirtinimą, jog veikia ir ant Opera naršyklės.

Kaip tai atrodo:

Pažaisti galite Browser Ball