PHP-Javascript: $GET-tel kapott elem átalakítása számmá
Üdv,
A gondom a következő: ha nyitok js-sel egy popup ablakot, át kell adnom egy számot bele. Ezt URL-ből átadom, és tényleg, az új ablakban a $_GET-ben meg is jön.
Ha azonban az új ablak fejében található script-tel, pontosabban a window.opener.location.href-tel vissza szeretném adni az eredeti ablaknak, hogy frissíthessem, akkor alapból semmit nem ad vissza. Ha parseInt-tel próbálkozom, akkor pedig NaN-t (gondolom not a number-t) ad vissza. Mit tegyek, hogy működjön? Próbálkoztam ezzel natúron, a parseInt-tel, meg Number-rel.
Valami ilyen a kód:
a első ablakban:
... és ettől meg is nyílik az új ablak, mert van ilyen függvényem. Ez OK.
És a nyitott ablakban:
... és az url2 sorba bele is íródik a példában adott 920. Tehát idáig is OK.
Valamint az új ablakban található form elküldésekor:
Ami az első ablakba megjön, az meg így néz ki:
■ A gondom a következő: ha nyitok js-sel egy popup ablakot, át kell adnom egy számot bele. Ezt URL-ből átadom, és tényleg, az új ablakban a $_GET-ben meg is jön.
Ha azonban az új ablak fejében található script-tel, pontosabban a window.opener.location.href-tel vissza szeretném adni az eredeti ablaknak, hogy frissíthessem, akkor alapból semmit nem ad vissza. Ha parseInt-tel próbálkozom, akkor pedig NaN-t (gondolom not a number-t) ad vissza. Mit tegyek, hogy működjön? Próbálkoztam ezzel natúron, a parseInt-tel, meg Number-rel.
Valami ilyen a kód:
a első ablakban:
javascript:OpenNewWindow('edit.php?fhid=85217&ftid=920', 400, 420);
... és ettől meg is nyílik az új ablak, mert van ilyen függvényem. Ez OK.
És a nyitott ablakban:
<script language="javascript">
function kuld() {
var url1 = 'index2.php?op=view&ftid=';
var url2 = parseInt(<? echo $_GET['ftid']; ?>);
window.opener.location.href = url1 + url2;
}
function ellenor() {
if(document.form2.sorszam.value == '')
{
alert('[....]');
document.form2.sorszam.focus();
}
}
</script>
function kuld() {
var url1 = 'index2.php?op=view&ftid=';
var url2 = parseInt(<? echo $_GET['ftid']; ?>);
window.opener.location.href = url1 + url2;
}
function ellenor() {
if(document.form2.sorszam.value == '')
{
alert('[....]');
document.form2.sorszam.focus();
}
}
</script>
... és az url2 sorba bele is íródik a példában adott 920. Tehát idáig is OK.
Valamint az új ablakban található form elküldésekor:
echo '<script language="javascript">';
echo 'kuld();window.close();'; //
echo '</script>';
echo 'kuld();window.close();'; //
echo '</script>';
Ami az első ablakba megjön, az meg így néz ki:
index2.php?op=view&ftid=NaN
Miért kell a parseInt?
--------
Poetro
Nincsen tippem...
Pál_úr
Biztos?
Igen
az alert-ban csak az lesz, hogy
Ha lekérem a script forrását, akkor benne van...
Pál_úr
igen? nem? nemtudom!
üdv: kmm...
OK, bocs...
Pál_úr
Extra infó még...
akkor ugyan oda kerül a '920' pl., de nem jelenik meg az alert()-ben.
Ha így:
akkor ugyan a forrásban úgy tűnik, mintha ott lenne, de a Firefox javascript hibával megáll, mégpedig a következő szöveggel:
Source File: http://xxx.xxxxx.xx/edit.php?op=editing
Line: 9, Column: 11
Source Code:
var url2 = ;
-----------^
Egészen misztikus.
Pál_úr
$_GET['ftid'] ???
A var url2 = parseInt(); értéke természetesen NaN.
és még természetesebben a var url2 = ; hibás utasítás.
Azaz egyszerűen nincs $_GET['ftid']
Ugye kódolás közben a figyelmeztetéseket is kiírod? :)
nálam így megy:
üdv: kmm...
Feladom :(
Mindenesetre mindenkinek minden segítséget köszönök.
Pál_úr