Ablaknyitás IE-ben hibás

Ezen az egy dolgon hasalt el a céges fejlesztés, hogy az IE egyszerűen képtelen a window.open() js függvényben az url-ben paramétert átadni. Tehát ez, ami firefoxban kiválóan megy, IE-vel hibát jelez:


window.open('valami.php?param=ertek', 'ablakneve')

Viszont a paramétert át kellene adni a valami.php-nek az url-ben. Azt nem mondhatom, hogy IE-ben nem működik a dolog, sőt várhatóan azzal fogják a legtöbben használni.

Hozzászólások

minden gépre, ie ikon katt firefox startol? :)

nincs letiltva ie-ben valami mágikus konstans? :)
Nem lehet hogy a kérdőjellel van a baja? nem lehet valami urlencode-szerűséggel elbolondítani?
Mi van, ha ajax-ozol kicsit és a visszatérő xml/json adatot pakolod be kliens oldalon az ablakba? Mittomén, ha az xml-ben van egy

< popup > true < / popup >

rész, amit leellenőrzöl és ha a popup true, akkor valami div innerHTML-jébe beteszed a parse-olt kimenetet. Ennek előnye, hogy csicsás is lehet az ablak: árnyékolás, kerekített szélek, animált előtűnés, és eltűnés :)

Es milyen hibat dob az IE? IE dev toolbar nem segit?

Apache mod_rewrite a te barátod..

Ha a hegy nem megy Mohamedhez, akkor Mohamed megy a hegyhez!

Írj egy példát a paraméterre, mert nekem window.open es megoldás akárhol működött eddig, több paraméterrel is. Gyanítom, hogy valamilyen speciális karakter lesz a hibás, vagy ilyesmi. Esetleg a sesssiont kéne átadni. Szóval nem írtad mi a hibajelenség?

Rejtély. Talán ha látnám pontosan, mert nálam működik ie6/ie7 siman a window.open, annyi kulonbseggel, hogy en egy js fuggvenyt hivok meg kattintasra, es az csinalja a window.opent, valtozoban a cim, es van options ertek is, tehat 3. parameter window.opennél. De ezek nem hinném, hogy bekavarnak. Nagyon fura.

gyorsan összeütöttem valamit


function getParamByForm(form,param) {
  var val=document.forms[form].elements[param].value;
return val;
}

function setParamByForm(form,param,pvalue){
  document.forms[form].elements[param].value=pvalue
}

function sendFormParams(formname){
var param1=encodeURI(getparamByForm(formname,'paramname'));
setParamByForm(formname,'paramname',param1);
var param2=....
..
var form=document.forms[formname];
form.submit();
}

encodeURI a speciális karaktereket szépen "eszképeli".

persze a fenti kód mégszebb lenne ha egy for-ciklussal végigmennék a formname elemein, de most gyorsan ez is jó lesz. :)