Avatar billede tblaster Nybegynder
16. marts 2003 - 12:21 Der er 23 kommentarer og
1 løsning

Indsæt billed

Hejsa

Er det muligt at få ændret den standard "indsæt billed" i en Dhtml editor component
så den automatisk skriver http://www.side.dk istedet for file://
Avatar billede mortrr Praktikant
16. marts 2003 - 12:26 #1
Ja selvfølgelig - du skal bare hente billedet fra http://www.side.dk
Avatar billede tblaster Nybegynder
16. marts 2003 - 12:27 #2
jeg vil have det sådan at man bare skriver 1.jpg og så skal den automatisk skrive stien til http://www.side.dk og ikke file://
Avatar billede mortrr Praktikant
16. marts 2003 - 12:32 #3
Det er jo simpel jscript. Det kan da ikke passe at du ikke kan finde ud af det.

Og lad være med at bruge alle "standard" funktionerne i den download. De er ikke noget værd.
Avatar billede tblaster Nybegynder
16. marts 2003 - 12:37 #4
jeg er ikke helt med på hvad du mener ... jeg har en dhtml editor som jeg gerne vil have ændret til så den ikke har den "standard" indsæt billed ... kan du hjælpe mig med det ... det vil være fint hvis den kan ændres så jeg helt selv kan udforme siden men jeg kan ikke finde ud af det. Vil gerne smide ekstra point i puljken.

Her er hvad jeg har pt.

function DECMD_IMAGE_onclick() {
  var arr = showModalDialog( "../Pics/picture.asp",
                            "",
                            "font-family:Verdana; font-size:12; dialogWidth:30em; dialogHeight:32em" );

  if (arr != null) {
    tbContentElement.ExecCommand(DECMD_IMAGE,OLECMDEXECOPT_DODEFAULT, arr);
  }
}

Den side den kalder på skal gerne hente de billeder der ligger i mappen hvor filen er:

<% strPathInfo = Request.ServerVariables("PATH_INFO")
strPhysicalPath = Server.MapPath(strPathInfo)

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(strPhysicalPath)
Set objFolder = objFile.ParentFolder
Set objFolderContents = objFolder.Files

For Each objFileItem in objFolderContents

Response.Write("<TD TITLE=http://www.havneparken1vejle.dk/iArrangementsudvalg/Pics/" & objFileItem.Name & ">" & objFileItem.Name )
Response.Write"<TR>"
Next %>
Avatar billede mortrr Praktikant
16. marts 2003 - 12:41 #5
Prøv at kigge på hvad arr indeholder når den bliver returneret fra pictures.asp.

Men - hvis billedet kun ligger på din harddisk (file://..), så hjælper det ikke så meget at ændre den til http://www.side.dk/ - filen kommer jo ikke til at ligge på side.dk af den grund.
Avatar billede tblaster Nybegynder
16. marts 2003 - 12:57 #6
Min pictures.asp er en jeg har lavet udfra den der hedder selcolor.htm som er til at ændre farverne. Men jeg har endnu ikke ændret mine arr ... jeg ved ikke hvad den skal ændre stil. Check denne for at se hvad jeg har:

http://www.havneparken1vejle.dk/iArrangementsudvalg/Editor/index.htm

Her er min pictures.asp
<HTML>
<HEAD>
<TITLE>Vælg et billed</TITLE>

<STYLE TYPE="text/css">
BODY  {margin-left:10; font-family:Verdana; font-size:12; background:menu}
BUTTON {width:5em}
P      {text-align:center}
TABLE  {cursor:hand}
</STYLE>

<SCRIPT LANGUAGE=JavaScript FOR=ColorTable EVENT=onclick>
<!--
  SelColor.value = event.srcElement.title;
// -->
</SCRIPT>

<SCRIPT LANGUAGE=JavaScript FOR=ColorTable EVENT=onmouseover>
<!--
  text = event.srcElement.title;
  if ( text != event.srcElement.bgColor )
    text += " (" + event.srcElement.bgColor + ")";
  RGB.innerText = text;
// -->
</SCRIPT>

<SCRIPT LANGUAGE=JavaScript FOR=ColorTable EVENT=onmouseout>
<!--
  RGB.innerText = " ";
// -->
</SCRIPT>

<SCRIPT LANGUAGE=JavaScript FOR=Ok EVENT=onclick>
<!--
  window.returnValue = SelColor.value;
  window.close();
// -->
</SCRIPT>

</HEAD>

<BODY onload="SelColor.focus()">

<DIV> &nbsp; </DIV>
<P>
<TABLE ID=ColorTable
BORDER=1
BORDERCOLOR=SILVER
BORDERCOLORLIGHT=WHITE
BORDERCOLORDARK=BLACK
CELLSPACING=0
CELLPADDING=0>
<TR>
<% strPathInfo = Request.ServerVariables("PATH_INFO")
strPhysicalPath = Server.MapPath(strPathInfo)

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(strPhysicalPath)
Set objFolder = objFile.ParentFolder
Set objFolderContents = objFolder.Files

For Each objFileItem in objFolderContents

Response.Write("<TD TITLE=http://www.havneparken1vejle.dk/iArrangementsudvalg/Pics/" & objFileItem.Name & ">" & objFileItem.Name )
Response.Write"<TR>"
Next %>
</TABLE>

<P>
<LABEL FOR=SelColor>Billed:</LABEL>
<INPUT TYPE=TEXT SIZE=70 ID=SelColor>
<BR>
<SPAN ID=RGB>&nbsp;</SPAN>

<P>
<BUTTON ID=Ok TYPE=SUBMIT>OK</BUTTON>
<BUTTON ONCLICK="window.close();">Luk</BUTTON>

</BODY>
</HTML>
Avatar billede tblaster Nybegynder
16. marts 2003 - 12:59 #7
Hvis bare jeg kan få det til at overføre det link den laver på første side til billedkilde på næste så ville det bare være fjong. Eller hvis det kunne laves så når man trykkede på ok på første så indsatte den bare billedet uden at den kom med den standard indsæt!
Avatar billede mortrr Praktikant
17. marts 2003 - 09:28 #8
Når du bruger en ShowModalDialog har du 2 muligheder for at returnere værdier.
Gennem Arguments, som du har sat til "" (den midterste parameter i kaldet).
Gennem returnValue, som du kan sætte den fil du åbner.

Hvis man bruger fx window som argument:
var arr = showModalDialog( "../Pics/picture.asp",
                            window,
                            "font-family:Verdana; font-size:12; dialogWidth:30em; dialogHeight:32em" );
får du i picture.asp adgang til alle variabler i den fil der åbner dialogen, ved at referere til dem gennem dialogArguments (som i eksemplet vil være det samme som window).

Men du kan nøjes med at bruge returnValue, fx med:
Response.Write("<TD onclick='returnValue=this.title;window.close;' title='http://www.havneparken1vejle.dk/iArrangementsudvalg/Pics/" & objFileItem.Name & "'>" & objFileItem.Name )
Response.Write"<TR>"
Next %>

arr vil så indeholde title fra din td.
Avatar billede tblaster Nybegynder
18. marts 2003 - 15:27 #9
Jeg har prøvet med det men der sker ikke rigtigt noget. Jeg har ændret så jeg har følgende:

function DECMD_IMAGE_onclick() {
  var arr = showModalDialog( "../Pics/picture.asp",
                            window,
                            "font-family:Verdana; font-size:12; dialogWidth:30em; dialogHeight:32em" );
}

Og så har jeg indsat den response.write du skrev ind i min picture.asp men der sker intet når man trykker på et billed navn :-(

Kan du hjælpe? Jeg har smdit nogle ekstra point i!
Avatar billede mortrr Praktikant
18. marts 2003 - 16:05 #10
Duh - jeg glemte et par paranteser:
onclick='returnValue=this.title;window.close();'
Avatar billede tblaster Nybegynder
18. marts 2003 - 16:10 #11
Nu lukker den så bare pictures.asp siden når man har trykker på et billed men den viser ikke billedet i editoren :-(
Avatar billede mortrr Praktikant
18. marts 2003 - 16:18 #12
Prøv lige:
function DECMD_IMAGE_onclick() {
  var arr = showModalDialog( "../Pics/picture.asp",
                            "",
                            "font-family:Verdana; font-size:12; dialogWidth:30em; dialogHeight:32em" );
alert(arr);
  if (arr != null) {
    tbContentElement.ExecCommand(DECMD_IMAGE,OLECMDEXECOPT_DODEFAULT, arr);
  }
}
Avatar billede tblaster Nybegynder
18. marts 2003 - 16:23 #13
Når man så har trykket på et billed så laver den en popup besked med linket til billedet! Når man så trykker ok så får man den standarde billed indsæt som Dhtml editoren har!
Avatar billede mortrr Praktikant
18. marts 2003 - 16:28 #14
Hvordan ser stien ud?

Prøv at åbne Pics/picture.asp i et vindue, og træk billedet over i editoren.
Virker det?
Avatar billede tblaster Nybegynder
18. marts 2003 - 16:34 #15
Billedet kan ikke trækes ned ... det er jo bare et link ... check det jeg har pt. her:

http://www.havneparken1vejle.dk/iArrangementsudvalg/Editor/index.htm
Avatar billede mortrr Praktikant
18. marts 2003 - 16:39 #16
function DECMD_IMAGE_onclick() {
  var arr = showModalDialog( "../Pics/picture.asp",
                            "",
                            "font-family:Verdana; font-size:12; dialogWidth:30em; dialogHeight:32em" );
  if (arr != null) {
    tbContentElement.ExecCommand(DECMD_IMAGE,false, arr);
  }
}
Avatar billede tblaster Nybegynder
18. marts 2003 - 16:42 #17
Så kommer den der popup besked ikke ... istedet kommer der den standard indsæt billed når man trykker på billedet ... og der står intet i billedkilden ... hvis bare linket kunne stå der så ville det hele være fjong ...
Avatar billede mortrr Praktikant
18. marts 2003 - 16:43 #18
Jeg troede du mente "standard billed indsat" (ikke indsæt) og at du bare fik et "broken image" ikon ind i dokumentet.
Avatar billede mortrr Praktikant
18. marts 2003 - 16:44 #19
Du skal udskifte OLECMDEXECOPT_DODEFAULT med false.
(du har vist bare fjernet alerten)
Avatar billede tblaster Nybegynder
18. marts 2003 - 16:48 #20
Jeg har prøvet med false ... den su skrev i 16:39:53 ... det gør ikke nogen forskel ... jeg bliver smidt over til den "standard billed indsat"
Avatar billede tblaster Nybegynder
18. marts 2003 - 16:49 #21
Min function ser således ud i den du kan se på nettet lige nu:

function DECMD_IMAGE_onclick() {
  var arr = showModalDialog( "../Pics/picture.asp",
                            "",
                            "font-family:Verdana; font-size:12; dialogWidth:30em; dialogHeight:32em" );
  if (arr != null) {
    tbContentElement.ExecCommand(DECMD_IMAGE,false, arr);
  }
}
Avatar billede mortrr Praktikant
18. marts 2003 - 16:49 #22
Eller brug OLECMDEXECOPT_DONTPROMPTUSER i stedet for false.
Avatar billede tblaster Nybegynder
18. marts 2003 - 16:51 #23
Det sidste virkede ... smid et svar og du skal få dine fortjente point! Du lader til at have godt styr på det ... kan du også hjælpe her:

http://www.eksperten.dk/spm/329362
Avatar billede mortrr Praktikant
18. marts 2003 - 16:51 #24
Hvis alt andet fejler, så skift den ud med:
function DECMD_IMAGE_onclick() {
  var arr = showModalDialog( "../Pics/picture.asp",
                            "",
                            "font-family:Verdana; font-size:12; dialogWidth:30em; dialogHeight:32em" );
  if (arr != null) {
    selRange = tbContentElement.DOM.selection.createTextRange()
    imgHTML = "<img src='" & arr & "'>"
    selRange.pasteHTML imgHTML
  }
}
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