Toon posts:

[Javascript] window.close(): probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een pop-up gemaakt met een sluit knop.
De code van deze sluitknop is alsvolgt:

code:
1
2
3
<input type=\"button\" onClick=\"window.close()\" name=\"Button\" value=\"&raquo; Venster sluiten\" 
    style=\"background-image: url(../img/knop.jpg); width:118; height:20; cursor:hand; border: 0px #006699 solid; 
    font-family: verdana; font-size: 12px;\">


Nu is het probleem dat als ik hierop klik dan sluit hij de pop-up wel, maar dan opent hij een nieuwe pagina met in de adresbalk:

http://localhost/CFS/undefined

Weet iemand hoe ik kan voorkomen dat hij deze opent?
Ik vind het erg vreemd namelijk en kom er niet meer uit!


---
De \" is omdat het in een echo staat

[ Voor 10% gewijzigd door Verwijderd op 01-11-2004 17:47 ]


  • Beekforel
  • Registratie: November 2001
  • Laatst online: 22:36

Beekforel

Is eigenlijk geen vis

Is dit geen adware probleempje ofzo?
Heb je er alleen last van bij die pop-up die je zelf gemaakt hebt of ook op andere sites?

Verwijderd

Topicstarter
Nee het is alleen bij mijn eigen pop-up

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Een gokje, maar is het niet "return window.close()"?

  • Beekforel
  • Registratie: November 2001
  • Laatst online: 22:36

Beekforel

Is eigenlijk geen vis

Zou je eens de volledige code kunnen posten van je pop-up? Ik heb het stukje code hier even getest en hier werkt het normaal.

  • Koeniepoenie
  • Registratie: Oktober 2003
  • Laatst online: 18-05 10:29
Het kan aan je eigen computer liggen, wat mij het voornaamst lijkt. Verder kun je self.close(); proberen om het venster te sluiten.

Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337


Verwijderd

Topicstarter
Dit is het script waar hij de pop-up mee opent:

code:
1
2
<a style=\"cursor: hand;\" onClick=\"window.open(showModalDialog('advocaat/c_bekijk.php?c_id=$cid', 
'viewpopup', 'width=640px height=650px scrolling=yes, resizeable=no'));\">


ps. self.close werkt ook niet maar bedankt!

[ Voor 38% gewijzigd door Verwijderd op 01-11-2004 18:27 ]


  • Beekforel
  • Registratie: November 2001
  • Laatst online: 22:36

Beekforel

Is eigenlijk geen vis

Is er iets waarnaar je dat http://localhost/CFS/undefined kan herleiden?
En kun je de hele code van je pop-up posten?

Verwijderd

Topicstarter
Dat is wel heeel erg veel: 196 regels ... ik zal hem even inkorten
.... Ik kan die undefined niet herleiden ... er kunnen een aantal variables missen
maar dat is omdat ik de code heb ingekort

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?
include "../cfg/connect.php"; 
$c_id = $_GET['c_id'];
$result = mysql_query("SELECT * FROM clienten WHERE client_id = '$c_id'") or die (mysql_error());
while ($rij = mysql_fetch_object($result)) {

$id             = "$rij->client_id";

if ($c_id==$id){
echo "
<html style=\"width: 640px; height: 650px;\">
<head>
<title>
Client bekijken || Aantal gevonden dossiers: ";

$resultat = mysql_query("SELECT * FROM dossiers WHERE dossier_cliënten = '$c_id'") or die (mysql_error());
$aantl = mysql_num_rows($resultat);
if($aantl < 1){ echo "0"; }
else {
                             echo $aantl;
                                                                                  }
     
    
    echo "
</title>
<style>
A.menu:link { color: #000000; text-decoration: none; border: 1px #006699 solid; background-color: #BBDDEA; }
A.menu:active { color: #000000; text-decoration: none; border: 1px #006699 solid; background-color: #BBDDEA; }
A.menu:visited { color: #000000; text-decoration: none; border: 1px #006699 solid; background-color: #BBDDEA; }
A.menu:Hover { color: #006699; text-decoration: none; border: 1px #006699 solid; background-color: #CCDDEA; }
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
}
<body bgcolor=\"#FFFFFF\" leftmargin=\"8\" topmargin=\"8\" marginwidth=\"8\" marginheight=\"8\"><center>
<table width=\"100%\"  cellspacing=\"0\" cellpadding=\"2\" style=\"border: 1px #BBDDEA solid;\">
  <tr>
    <td bgcolor=\"#BBDDEA\"><strong><font size=\"2\">Cli&euml;ntgegevens &nbsp;&nbsp;&nbsp; ||&nbsp;&nbsp;&nbsp; <font color=\"#666666\">
Aantal gevonden dossiers:</font><font color=\"#000000\"> [ </font><font color=\"#FF0000\">
    $aantl
    </font> ]</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input type=\"button\" onClick=\"window.close()\" name=\"Button\" value=\"&raquo; Venster sluiten\" 
    style=\"background-image: url(../img/knop.jpg); width:118; height:20; cursor:hand; border: 0px #006699 solid; 
    font-family: verdana; font-size: 12px;\"></center>
</td>
</table>
";
?>
<? $cid = $_GET['c_id'];
$result = mysql_query("SELECT * FROM dossiers WHERE dossier_cliënten = '$cid'") or die (mysql_error());
while ($rijtje = mysql_fetch_object($result)) {

$id2 ="$rijtje->dossier_id";

if($aantl < 1){ echo "<font face=\"verdana\" size=\"1\"> Geen dossiers gevonden...</font>"; }
else {
           
echo "<a href=\"dossier.php?did=$id2&c_id=$c_id\" target=\"main\" 
style=\"background-image: url(../img/knop.jpg); 
width:118; height:20; cursor:hand; border: 0px #006699 solid; 
    font-family: verdana; font-size: 12px;\">Dossier nr.
$id2</a>
"; ?> 
<iframe width="100%" height="100%" name="main" src="#" frameborder="0" scrolling="no">
<?
  $optie = $_GET['optie'];
    if($optie=="dossier")   { include "dossier.php"; }
  } } }  ?></iframe>

[ Voor 39% gewijzigd door Verwijderd op 01-11-2004 18:41 ]


  • dev icey
  • Registratie: Augustus 2003
  • Laatst online: 09-12-2025
window.close(this) ?
window.close(self) ?

Ben niet zo'n js expert. Maar undefined duidt op dat de functie een onbekende wilt closen.

Als je firefox hebt kan je kijken wat de javascript console voor foutmelding geeft.

[ Voor 26% gewijzigd door dev icey op 01-11-2004 18:47 ]


Verwijderd

Topicstarter
window.close(this)
window.close(self)

Dit werkt niet ... maar het zal iid zo zijn dat hij iets onbekends wil
closen

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:17

crisp

Devver

Pixelated

kan je zelf nog wel wijs worden uit die code? Het is zachts gezegd nogal rommelig (zowel je code als je HTML, plus dat je vatbaar bent voor SQL injections).
Je opent een modalDialog; heb je het ook al geprobeert met een gewone window? Heeft een modalDialog mogelijk een andere method om afgesloten te worden? ( * crisp houd zich nooit bezig met IE-only dingen )

CFS lijkt me iets ColdFusion-achtigs; doe je daar wellicht ook nog wat mee?

[ Voor 4% gewijzigd door crisp op 01-11-2004 18:48 ]

Intentionally left blank


Verwijderd

Topicstarter
Nee het is niet ColdFusion-achtig, maar ik moest het een btje kopieren en plakken vanuit dreamweaver en daar staat het gewoon netjes ...
Maar ik weet dus ook niet of een Modeldialog een andere sluitoptie heeft.... Ik heb een aantal dingen geprobeert
this.window.close ()
window.self.close()

maarjah dat werkt ook niet


maaruhm vatbaar voor SQL-injections ... tell me

[ Voor 8% gewijzigd door Verwijderd op 01-11-2004 18:56 ]


Verwijderd

Verwijderd schreef op 01 november 2004 @ 18:55:
maaruhm vatbaar voor SQL-injections ... tell me
Je plakt direct een stuk uit de GET request in je MySQL query. Da's nogal gevaarlijk:
PHP:
1
2
$c_id = $_GET['c_id'];
$result = mysql_query("SELECT * FROM clienten WHERE client_id = '$c_id'") or die (mysql_error());

Stel dat ik daar de string ' or 'a' = 'a in plak. Dan ziet je query er dus zo uit:
SELECT * FROM clienten WHERE client_id = '' or 'a' = 'a'
Wat dus alle clienten teruggeeft...het enige wat ik hoef te doen is achter de URL voor deze pagina het volgende te plakken:
blabla.php?c_id=' or 'a' = 'a

Het kan nog erger
blabla.php?c_id='; DROP TABLE 'clienten';
SELECT * FROM clienten WHERE client_id = ''; DROP TABLE 'clienten';

dit kan dus niet...


offtopic:
Ik ben absoluute geen (My)SQL expert dus als ik wat steekjes laat vallen: it's the thought that counts :)

[ Voor 12% gewijzigd door Verwijderd op 01-11-2004 21:08 ]


Verwijderd

Topicstarter
Ik begrijp je punt opzich wel, thnx daarvoor.
Maar ik weet niet hoe ik dit moet veranderen, zou je me een voorbeeld kunnen geven?

[ Voor 49% gewijzigd door Verwijderd op 01-11-2004 21:24 ]


Verwijderd

Topicstarter
Ik wil graag weten hoe je dat zonder een $_GET[''] dan moet doen?

[ Voor 91% gewijzigd door Verwijderd op 01-11-2004 21:56 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:17

crisp

Devver

Pixelated

Ik zou graag willen dat je je topic niet zo snel kicked...

Het is eigenlijk meer een vraag voor Programming & Webscripting (en daar ook al veel behandeld), maar waar het om gaat is dat je speciale tekens moet escapen; nu kan PHP dat zelf al voor je doen mbv magic_quotes, maar dat is iets waar je nooit van uit mag gaan (en vaak ook niet in de hand hebt of kan veranderen).
Je kan dus afvragen of magic_quotes wordt toegepast - zoja, dan hoef je niets te doen; zo nee, dan zou ik addslashes of mysql_escape_string eerst toepassen op de variabelen voordat je ze in de query stopt ;)

Intentionally left blank


Verwijderd

Verwijderd schreef op 01 november 2004 @ 17:46:
Ik heb een pop-up gemaakt met een sluit knop.
De code van deze sluitknop is alsvolgt:

code:
1
2
3
<input type=\"button\" onClick=\"window.close()\" name=\"Button\" value=\"&raquo; Venster sluiten\" 
    style=\"background-image: url(../img/knop.jpg); width:118; height:20; cursor:hand; border: 0px #006699 solid; 
    font-family: verdana; font-size: 12px;\">


Nu is het probleem dat als ik hierop klik dan sluit hij de pop-up wel, maar dan opent hij een nieuwe pagina met in de adresbalk:

http://localhost/CFS/undefined

Weet iemand hoe ik kan voorkomen dat hij deze opent?
Ik vind het erg vreemd namelijk en kom er niet meer uit!


---
De \" is omdat het in een echo staat
Tsja, hoe onleesbaar kun je het hiermee maken?

Gebruik dan gewoon een enkele quote. Dit is ook nog eens sneller...
code:
1
2
3
echo '<input type="button" onClick="window.close(); return false;" name="Button" value="&raquo; Venster sluiten" 
    style="background-image: url(../img/knop.jpg); width:118; height:20; cursor:hand; border: 0px #006699 solid; 
    font-family: verdana; font-size: 12px;">'
Pagina: 1