Avatar billede s0mmer Nybegynder
01. september 2006 - 22:03 Der er 30 kommentarer og
1 løsning

Lille fejl i close window

Hejsa,
har noget jscript i min php kode der bare bl.a. ska close window:
if($_POST["slet"])
{
$db->ExecSQL("DELETE FROM snm_galleri WHERE id='".$_GET["id"]."'");
echo "<script language='Javascript'>
alert ('Billedet er slettet!')
</script>";
echo "<script language='Javascript'>function closeWin() {
  window.close();
}
</script>";

}

men den vil ik helt lukke, ka i se fejlen?
Avatar billede nielle Nybegynder
01. september 2006 - 22:19 #1
Du skal også kalde closeWin() et eller andet sted i din kode.
Avatar billede nythjem Nybegynder
01. september 2006 - 22:28 #2
Du bliver jo nødt til at kalde funktionen før det virker..

Evt. på en onload..

<body onload="closeWin();"
Avatar billede nythjem Nybegynder
01. september 2006 - 22:28 #3
Og så er det i øvrigt vanvittig dårlig stil at udskrive ' ´er.. Brug " i stedet..
Avatar billede elskermad.dk Nybegynder
01. september 2006 - 22:43 #4
nythjem: hvorfor er det vanvigttig dårlig stil?
Avatar billede mclemens Nybegynder
01. september 2006 - 23:06 #5
Spørgsmålet er om det ikke er nemmere at skrive:

if($_POST["slet"]){
$db->ExecSQL("DELETE FROM snm_galleri WHERE id='".$_GET["id"]."'");
echo "<script language='Javascript'>
alert ('Billedet er slettet!')
window.close();
</script>";
}
Avatar billede mclemens Nybegynder
01. september 2006 - 23:07 #6
Men selv nysgerrig efter hvad det er for en dårlig stil ?
( bruger selv " men, kan ikke se noget galt i ' ??? )
Avatar billede mclemens Nybegynder
01. september 2006 - 23:09 #7
hmmm, ret lige language='Javascript'
til: type='text/javascript'
Avatar billede mclemens Nybegynder
01. september 2006 - 23:11 #8
^ ... der manglede ordet eventuelt i ovenstående ... :)
Avatar billede mclemens Nybegynder
01. september 2006 - 23:16 #9
[ Evt. på en onload..

<body onload="closeWin();" ]
Det er dårlig kodestil at sætte eventhandlers i dokumentet
- de bør sættes i scriptet med window.onload=function(){closeEin()}

eller med bedre kodestil som:
if(window.attachEvent)window.attachEvent("onload", function(){closeWin()});
else if(window.addEventListener)window.addEventListener("load", function(){closeWin()}, false);

(mener det er noget i den stil ... men 23:06:42 bør nok lave tricket ...)
Avatar billede nythjem Nybegynder
01. september 2006 - 23:20 #10
Sorry, ledte lige efter dokumentation, men orker ikke lede mere.. :)

1. Det er noget pjat det jeg siger. Imidlertid er single qvotes da kun for folk der ikke ved man kan dobbelt kvote i en udskrivning. Single qvote kan efter min mening bruges i forbindelse med javascript, andet er dårlig stil.. :)
Avatar billede nythjem Nybegynder
01. september 2006 - 23:23 #11
s0mmer, hvis du bruger onload koden som mclemens foreslår, så husk lige at minimums declarationen på typen script er: type="text/javascript".

<script type="text/javascript">
kode her..
</script>
Avatar billede mclemens Nybegynder
01. september 2006 - 23:23 #12
Nythjem, læs lige 01/09-2006 23:09:45 ...
Avatar billede nythjem Nybegynder
01. september 2006 - 23:24 #13
Så var der lige det dér med at kigge, den havde mclemens jo klaret.. :) Hehe..
Avatar billede nythjem Nybegynder
01. september 2006 - 23:24 #14
Just did, sorry :)
Avatar billede mclemens Nybegynder
01. september 2006 - 23:24 #15
Ok :o)
Avatar billede mclemens Nybegynder
01. september 2006 - 23:33 #16
P.s.: single qoute vs. dobbelt kvotes er din egen objektive vurdering af hvordan man skal markup'e / kode ... og ikke noget der har noget i sig - begge dele er tilladt, men man kan så foretrække den ene - eller den anden ...

Den eneste ting jeg kan sige er at hvis man parser denne innerHTML
i Firefox eller IE så bruger den pr. automatik " og ikke ' ... men da det
er dårlig stil at bruge innerHTML så er det eksempel lidt underordnet da man
skal bruge dom programmering istedet, og der har det ingen betydning når man
bruger getAttribute ...

test eksemplet:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>
<script type="text/javascript">
window.onload=function(){

  t=document.createElement("div");  t2=document.createTextNode("tester");
  t.appendChild(t2);  t.setAttribute("id","tes t1");
  document.body.appendChild(t);

  t=document.createElement('div');  t2=document.createTextNode('tester');
  t.appendChild(t2);  t.setAttribute('id','tes t2');
  document.body.appendChild(t);

  alert(document.body.innerHTML);

}

</script></head><body></body></html>
Avatar billede mclemens Nybegynder
01. september 2006 - 23:34 #17
Så holder stadig på at ' også er ok, men det
er lidt en smagssag ligesom table vs. divs ... :)
Avatar billede mclemens Nybegynder
01. september 2006 - 23:36 #18
( hvis vi snakkede php var det en anden sag da
der jo er lidt forskel i håndteringen af ' vs. " )
Avatar billede mclemens Nybegynder
01. september 2006 - 23:42 #19
( ved godt at der ikke må være mellemrum i id'en i
23:33:32, men det var mere for at kaste et eksempel )
Avatar billede nythjem Nybegynder
01. september 2006 - 23:46 #20
Jeps, i know. Jeg måtte lige teste om single qvote kunne holde i en ren xml fil, kunne det sgu, så ja, subjektiviteten vil ingen ende tage :)

Nu ville jeg desværre aldrig røre php med en rusten ildtang, men har du kun mulighed for at single qvote dér ?
Avatar billede mclemens Nybegynder
01. september 2006 - 23:53 #21
Nej, du kan bruge både enkelte og dobbelte ...
men disse to giver hver deres resultat:

<?php
$test="hallo";

echo "Jeg siger $test, $test - jeg ved godt du er hjemme ...";
/* Giver: Jeg siger hallo, hallo - jeg ved godt du er hjemme ... */

echo 'Jeg siger $test, $test - jeg ved godt du er hjemme ...';
/* Giver: Jeg siger $test, $test - jeg ved godt du er hjemme ... */

echo "Jeg siger ".$test.", ".$test." - jeg ved godt du er hjemme ...";
/* Giver: Jeg siger hallo, hallo - jeg ved godt du er hjemme ... */

echo 'Jeg siger '.$test.', '.$test.' - jeg ved godt du er hjemme ...';
/* Giver: Jeg siger hallo, hallo - jeg ved godt du er hjemme ... */

?>
Avatar billede nythjem Nybegynder
01. september 2006 - 23:58 #22
Perfekt, så er der jo ingen ko på isen :)
$$ Det vender jeg mig aldrig helt til :)

Faldt s0mmer i søvn mon *Gg*
Avatar billede mclemens Nybegynder
02. september 2006 - 00:06 #23
Næh, det er jo også en smagssag igen, igen ...
- Jeg føler mig godt hjemme i php, men har aldrig
sat mig ind i asp, jeg har brugt frontpage i et
års tid ('98-'99) - så det har sat nogle "ar" ...
men vil ikke sige, at jeg aldrig vil læse om asp ...

...

Muligvis, kaster lige svar, hvis han kunne
bruge den korte udgave uden funktionen :)

Nat, nat ;)
Avatar billede erikjacobsen Ekspert
02. september 2006 - 00:14 #24
En (god?) grund til at foretrække " frem for ' ved attributter i HTML og lignende, er at man kan være sikker på at en " bliver lavet om til en &quot; med alle htmlencode/htmlentities-funtioner, mens en ' kan blive stående som den er. Dvs. at (eksempel i PHP)

  <input type='text' value='<?php print htmlentities("O'Brian");?>'>

vil fejle, mens

  <input type="text" value="<?php print htmlentities("Han sagde: \"Hund\"");?>">

vil virke. Så tommelfingerregel nummer 4: Mindre bøvl med "-ere.
Avatar billede nythjem Nybegynder
02. september 2006 - 00:22 #25
Hvis valget stod mellem php og asp ville jeg nok foretrække php, men heldigvis er verden jo fuld af sprog :)

Hehe Erik.. Skønt vi er enige om syntaksen alle tre :)

God weekend :)
Avatar billede mclemens Nybegynder
02. september 2006 - 00:22 #26
Check quote style ...
http://dk2.php.net/manual/da/function.htmlentities.php
echo htmlentities("O'Brian", ENT_QUOTES);
Avatar billede mclemens Nybegynder
02. september 2006 - 00:23 #27
[ God weekend :) ]
I lige måde :o)
Avatar billede mclemens Nybegynder
02. september 2006 - 00:25 #28
... ((( det med quote style kan selvfølgelig
også rettes i php setup'et ))) ...
Avatar billede mclemens Nybegynder
02. september 2006 - 00:26 #29
Men " er selvfølgelig lidt lettere til tider :)
Avatar billede s0mmer Nybegynder
03. september 2006 - 14:06 #30
glad for at jeg kan starte en hel debat her :) jeg kigger lige på det når jeg kommer fra arbejde, så får i points. tak for hjælpen
Avatar billede nielle Nybegynder
05. september 2006 - 06:44 #31
Hmm? Var jeg egentlig ikke først med svaret?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester