[javascript]Probleem met zelfgemaakte functie

Pagina: 1
Acties:

  • Patrickvs
  • Registratie: Juli 2000
  • Laatst online: 16-05 07:44
Ik heb een probleem waar ik helemaal niet meer uitkom... :(

Ik ben bezig geweest met het maken van een soort klein nieuwssysteem, hierbij is het de bedoeling dat de gebruiker de tekst invoert en ook eventueel plaatjes kan invoegen die al zijn geuploaded. Ik dacht daarbij dat het handig kan zijn als ze via het klikken op een foto de url konden invoegen in de textarea(invoerveld).

Nu ben ik via voorbeelden tot deze code gekomen :

PHP:
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
<script language="JavaScript">

function AddImage(ImageUrl) {
    var revisedMessage;
    var currentMessage = document.REPLIER.bericht.value;
    revisedMessage = currentMessage+ImageUrl;
    document.REPLIER.bericht.value=revisedMessage;
    document.REPLIER.bericht.focus();
    return;
}


</script>

//formulier stond hier


<?
function ReadDirectory() { 
 
   global $aantal, $bestand, $dir; 

   /* directory uitlezen */ 
   $handle=opendir("."); 
   while (false!==($file = readdir($handle))) { 
      if ($file != "." && 
          $file != ".." && 
          strtolower(substr($file,0,3)) != "tn_" &&                /* thumnails weglaten */ 
          strtolower(substr($file,strlen($file) - 4,4)) == ".jpg"  /* alleen jpg-bestanden */ 
         ) { 
         $bestand[] = $file; /* bestand toevoegen */ 
      } 
   } 
   closedir($handle); 

   if (count($bestand) > 0) { 
      sort($bestand); 
   } 

   $aantal = count ($bestand);
    

 
} 

ReadDirectory();

echo "Klik op de foto's om een url in te voegen.<br />";

for ( $i = 0; $i < $aantal; $i++ ) {
    
    echo "<a href=javascript:AddImage('&lt;img&nbsp;src=$bestand[$i]&gt')>
[img]'$bestand[$i]'[/img]</a>";
}

}
?>


Het is wel allemaal php, maar het probleem zit hem in het javascriptje geloof ik. Ik kan via de functie aanroep in de a href geen haakjes, spaties gebruiken oid? Ik heb het opgelost via het hierboven beschreven : < enz...

Nu verschijnt de url wel netjes in de textarea maar zo gauw ik submit verschijnt het plaatje die op de server staat niet in beeld , wel in de source |:(

Hier staat het script wat het probleem laat zien :

http://stormvogels.veendam.org/php/addbericht.php

Ik hoop dat iemand een oplossing weet voor mijn probleem?

  • 2
  • Registratie: November 2000
  • Laatst online: 31-03 13:52

2

Bij de preview staat het alsvolgt in een hidden input:

<input type="hidden" name="bericht2" value="[img]DSCF0019.JPG>"> Ik[/img]' - gok ik)

  • André
  • Registratie: Maart 2002
  • Laatst online: 01-09 14:07

André

Analytics dude

code:
1
echo "<a href='javascript:AddImage(\'[img]$bestand[$i]>\')'><img[/img]</a>";

Dit moet wel willen toch, want als je de unicode codes gebruikt zal hij in de volgende pagina je img tag nooit als een tag zien maar als text. Want je ziet hem wel in de source staan maar daar staat eigenlijk de unicode versie.

  • eghie
  • Registratie: Februari 2002
  • Niet online

eghie

Spoken words!

$handle=opendir(".");
while (false!==($file = readdir($handle))) {
if ($file != "." &&
$file != ".." &&
strtolower(substr($file,0,3)) != "tn_" && /* thumnails weglaten */
strtolower(substr($file,strlen($file) - 4,4)) == ".jpg" /* alleen jpg-bestanden */
) {
je sluit die while-tag niet af.
want je begint wel met { maar eindigd niet met }.
dus dat klopt niet helemaal.
en volgens mij heb je dat vetgedrukte haakje ook verkeerd staan
want achter die 4,4 moeten toch 3 haakjes?
correct me if i'm wrong.

  • Patrickvs
  • Registratie: Juli 2000
  • Laatst online: 16-05 07:44
Ik heb de code even aangepast maar nu gaat het steeds fout op die enkele qoute.

Nu stopt hij na javascript:AddImage(\ |:(

Vervelend zo'n probleem....

  • eghie
  • Registratie: Februari 2002
  • Niet online

eghie

Spoken words!

ik denk dat hij stopt door die ' teken.
dat hij dat als afsluit teken ziet ofzo.

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21-08 20:56
Hmmz, de ' en " zijn lastig bij JS. Heb ik zelf ook wel mee lopen kloten.
Je moet er van uitgaan dat " en " worden gebruikt als open/sluitteken van een string.
Als je in een string een " een wilt geven moet dat met een '.

Voorbeeld (HTMLtags in een document.write):
document.write("<div align='center'><table width='90%'>")
dit wordt uiteindelijk
<div align="center"><table width="90%">

Probeer het anders even uit de 'echo' te halen en dan eerst tot een goed werkende aanroep te maken en daarna 'terug te vertalen'.

Ik hoop dat ik je hier mee kan helpen...
Hoe het met strings in php zit weet ik verder niet, maar daar zal vast wel documentatie over te vinden zijn. ;)

[ Voor 0% gewijzigd door Sassie op 30-08-2002 00:05 . Reden: typen is moeilijk ;) ]


Verwijderd

Sassie schreef op 30 augustus 2002 @ 00:03:
Hmmz, de ' en " zijn lastig bij JS. Heb ik zelf ook wel mee lopen kloten.
Je moet er van uitgaan dat " en " worden gebruikt als open/sluitteken van een string.
Als je in een string een " een wilt geven moet dat met een '.

Het voorbeeld wat je geeft klopt echt niet, een enkele quote wordt niet ineens een dubbele quote, of andersom.

Gebruik voor strings in javascript altijd een enkele quote, dan kun je gewoon HTML schrijven met de attribute values tussen dubbele quotes. Het kan ook andersom, maar ik heb bij voorkeur dubbele quotes in de HTML, maar enkele quotes mogen ook.

Als je dus je javascript string tussen enkele quotes zet, dan moet je om een enkele quote in die string te krijgen het teken escapen met een backslash (\').
Precies hetzelfde geldt voor dubbele quotes.

En jawel, in PHP werkt dat precies hetzelfde.

Nog 1 maal: het voorbeeld dat je gaf was onjuist.

  • Patrickvs
  • Registratie: Juli 2000
  • Laatst online: 16-05 07:44
Nou na nog veel pogingen te hebben gewaagd om het aan de gang te krijgen, is het me nog steeds niet gelukt! :'( Ik denk dat het te maken heeft met de spaties en natuurlijk met de plaatsing van de enkele qoute.

Ik doe het nu maar via een stukje html wat ze kunnen kopieren en daarna plakken in de textarea.

Als iemand nog wel de oplossing heeft dan hoor ik het natuurlijk graag.....

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21-08 20:56
Verwijderd schreef op 30 augustus 2002 @ 11:23:

[...]

Het voorbeeld wat je geeft klopt echt niet, een enkele quote wordt niet ineens een dubbele quote, of andersom.

Gebruik voor strings in javascript altijd een enkele quote, dan kun je gewoon HTML schrijven met de attribute values tussen dubbele quotes. Het kan ook andersom, maar ik heb bij voorkeur dubbele quotes in de HTML, maar enkele quotes mogen ook.

Als je dus je javascript string tussen enkele quotes zet, dan moet je om een enkele quote in die string te krijgen het teken escapen met een backslash (\').
Precies hetzelfde geldt voor dubbele quotes.

En jawel, in PHP werkt dat precies hetzelfde.

Nog 1 maal: het voorbeeld dat je gaf was onjuist.
Maar toch 'werkt' het wel (in mijn IE5.5), test mijn smiliespage maar. :P
Ik zal wel eens kijken of het dus dan ook anders kan, want het is zo wel wat omslachtig en onduidelijk. ;)
Waar ik het overigens vandaan heb weet ik ook niet meer, maar goed iig bedankt voor de info. :)

En nu weer terug ontopic, want hier heeft de topicstarter ook niet echt veel aan.
Pagina: 1