Avatar billede thaman65 Nybegynder
10. december 2002 - 19:29 Der er 23 kommentarer og
2 løsninger

upload og indsættelse af billede..

Jeg står og mangler en funktion, der uploader og indsætter et billede på en defineret side. Er der en der kan hjælpe mig med det. Jeg har noget kode der angivelig skulle virke. Men jeg synes ikke jeg kan få det til at virke :) Upload virker fint men indsættelsen dur ikke.

Her er det jeg har indtil videre.

function insertImage()
    {
    var sImgSrc=prompt("Indsæt billede: ", "./upload/[filnavn]");
    if(sImgSrc!=null)
    cmdExec("InsertImage",sImgSrc);
    }
<div onclick="insertImage()">
  <img hspace="2" vspace="1" align="absmiddle" src="img/billede.gif" alt="Billede">
  </div>

Jeg håber der er en der kan hjælpe. Evt. ville det også være bedre hvis man kunne browse en forudbestemt mappe hvorefter den valgte fil vil blive indsat.
Avatar billede pelkjaer Nybegynder
10. december 2002 - 19:39 #1
Kommer nok til at bede om flere oplysninger om din online editor.
Hvad hedder din div/iframe?

Upload script kan du lynhurtigt finde her ved en søgning. Men du burde nok
Avatar billede eagleeye Praktikant
10. december 2002 - 19:41 #2
Så skal vi nok lige se functionen : cmdExec
Som vist er den der skal gemme.
Avatar billede thaman65 Nybegynder
10. december 2002 - 19:42 #3
upload virker fint og min div hedder pageHTML
Avatar billede thaman65 Nybegynder
10. december 2002 - 19:43 #4
cmdExec er vel en vb funktion, er den ikke predefineret?
Avatar billede thaman65 Nybegynder
10. december 2002 - 19:44 #5
Sorry my mistake :)

function cmdExec(cmd,opt) {
pageHTML.document.execCommand(cmd,"",opt);
document.body.all.tags('div')['pageHTML'].focus();
}
Avatar billede thaman65 Nybegynder
10. december 2002 - 19:56 #6
jeg kan også paste hele koden hvis det ville hvjælpe :)
Avatar billede eagleeye Praktikant
10. december 2002 - 20:01 #7
Nej det tror jeg ikke...

Hvad hvis du skriver:

pageHTML.document.execCommand(cmd,false,opt);
Avatar billede thaman65 Nybegynder
10. december 2002 - 20:04 #8
hvorfor false?
Avatar billede thaman65 Nybegynder
10. december 2002 - 20:07 #9
Det synes heller ikke at virke
Avatar billede eagleeye Praktikant
10. december 2002 - 20:15 #10
Det var måske en ide at flytte det til Javascript kategorien...
Har du tjekke at opt har en værdi?
Avatar billede thaman65 Nybegynder
10. december 2002 - 20:21 #11
Alle de andre funktioner i online editoren virker bortset fra denne. Det er det jeg ikke kan forstå. Det er godt nok javascript, men jeg kører filen som asp. Hvis det kunne laves i ren asp/vbscript ville jeg være meget lydhør :)
Kan der ikke laves en browse knap der indsætter billedet fra en given sti?
Avatar billede thaman65 Nybegynder
10. december 2002 - 20:23 #12
cmdExec("InsertImage",sImgSrc); er sImgSrc ikke opt? Det skulle jeg mene.
Avatar billede eagleeye Praktikant
10. december 2002 - 20:25 #13
Jo det rigtigt opt er sImgSrc... hmmm det ved jeg ikks så.
Avatar billede thaman65 Nybegynder
10. december 2002 - 20:28 #14
Findes der en anden måde at indsætte et billede på?
Avatar billede eagleeye Praktikant
10. december 2002 - 20:33 #15
Her er en "Build online editor" med indsæt billede:
http://www.devarticles.com/art/1/90/5

Og her, scroll næsten helt ned i bunden:
http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=9658
Avatar billede thaman65 Nybegynder
10. december 2002 - 21:02 #16
Ja se den funktion virker, men jeg kan ikke rigtig få den implementeret i min kode. :)
Avatar billede pelkjaer Nybegynder
11. december 2002 - 00:05 #17
Kan du uploade din editor kan vi nemt hjælpe dig, men hvordan havde du tænkt dig at billedfunktionen skulle virke?

Hvis jeg var dig ville jeg gemme billednavnet samt en beskrivelse i en database samtidig med upload til en mappe, og så i editoren lave en select menu der henter beskrivelserne fra databasen.

Har du først det er det nemt at lave en popup med preview samt en insert funktion.
Avatar billede thaman65 Nybegynder
11. december 2002 - 00:31 #18
Jeg kan indsætte billedet i en iframe, men her kan jeg ikke indlæse de sider jeg vil. Det kan jeg tilgengæld i <div></div> men her kan jeg ikke indsætte billedet. Meget mystisk, hvad skal man lige gøre i sådan et tilfælde. Jeg poster lige hele koden, for nu er jeg sq ved at være lidt træt af dette.

<% @LANGUAGE="VBSCRIPT" %>
<%
dim objFSO, tmp
set objFSO = createobject("scripting.filesystemobject")

dim stHomePage
strHomePage = "valg.asp"

dim strFilePath
strFilePath = "./"

dim strScriptName
strScriptName = request.servervariables("script_name")
strScriptName = mid(strScriptName, instrrev(strScriptName, "/") + 1)
'***---

if request.form("update") = "" then

const fsoForReading = 1

dim objFile
objFile = request.querystring("fil")

dim objFileContents
set objFileContents = objFSO.OpenTextFile(server.mappath(strFilePath & objFile), fsoForReading)

dim strFileContents
strFileContents = objFileContents.ReadAll

else if request.form("update") <> "" then


dim strWriteContents
strWriteContents = request.form("iView")


if strWriteContents = "" then
strWriteContents = "Denne side er ikke tilgængelig."
strWriteContents = strNewContent & vbCrLf & "<br><br>"
strWriteContents = strNewContent & vbCrLf & "Vi undskylder ulejligheden."
end if

set objWriteFile = objFSO.OpenTextFile(server.mappath(strFilePath & request.form("file")), 2, true)
objWriteFile.write(strWriteContents)
objWriteFile.close
set objWriteFile = nothing

response.redirect strHomePage


end if
end if
%>
<%
if session("login") <> 1 then
    response.Redirect "../login.asp"
end if
%>
<html>
<head>
<title>Opdaterings editor</title>
<script language="JavaScript">

  function Init()
  {
    iView.document.designMode = 'On';
  }
 
     
  function doBold()
  {
    iView.document.execCommand('bold', false, null);
  }

  function doItalic()
  {
    iView.document.execCommand('italic', false, null);
  }

  function doUnderline()
  {
    iView.document.execCommand('underline', false, null);
  }
 
  function doLeft()
  {
    iView.document.execCommand('justifyleft', false, null);
  }

  function doCenter()
  {
    iView.document.execCommand('justifycenter', false, null);
  }

  function doRight()
  {
    iView.document.execCommand('justifyright', false, null);
  }

  function doOrdList()
  {
    iView.document.execCommand('insertorderedlist', false, null);
  }
 
  function indryk()
  {
    iView.document.execCommand('indent', false, null);
  }
 
  function udryk()
  {
    iView.document.execCommand('outdent', false, null);
  }

  function doBulList()
  {
    iView.document.execCommand('insertunorderedlist', false, null);
  }
 
  function doForeCol(fCol)
  {

    if(fCol != null)
      iView.document.execCommand('forecolor', false, fCol);
  }

  function doLink()
  {
    iView.document.execCommand('createlink');
  }
 
  function doImage()
  {
    var imgSrc = prompt('Enter image location', '');
   
    if(imgSrc != null)   
    iView.document.execCommand('insertimage', false, imgSrc);
  }
 
  function klip()
  {
    iView.document.execCommand('cut', false, null);
  }
 
  function satind()
  {
    iView.document.execCommand('paste', false, null);
  }
 
  function kopier()
  {
    iView.document.execCommand('copy', false, null);
  }

  function doFont(fName)
  {
    if(fName != '')
      iView.document.execCommand('fontname', false, fName);
  }
 
  function doSize(fSize)
  {
    if(fSize != '')
      iView.document.execCommand('fontsize', false, fSize);
  }
 
function over(element) {
element.style.borderStyle= "solid";
element.style.borderWidth = "1px";
element.style.borderColor = "#000000";
element.style.backgroundColor = "#F1F1F1";
element.style.cursor = "hand";
}

function out(element) {
element.style.borderColor = "#CCCCCC";
element.style.backgroundColor = "#CCCCCC"
element.style.cursor = "default";
}

function div2hidden(objForm) {
objForm.iView.value = document.all.tags('div')['iView'].innerHTML;
}

function go(where) {
window.location.href = where;
}
//-->
</script>


</script>

</head>
<body bgcolor="#FFFFFF"  onLoad="Init()">
<form name="frmedit" method="post" onsubmit="return div2hidden(this);" action="editor.asp">
<input type="hidden" name="iView" value="">
<input type="hidden" name="update" value="1">
<input type="hidden" name="file" value="<%= objFile %>">
  <table width="550" cellpadding="2" cellspacing="2" align="center" style="border-style: solid; border-width: 1px; border-color: #000000;" bgcolor="#CCCCCC">
<tr>
      <td width="100%" align="center">
       
        <input type="submit" value="Opdater"> &nbsp;
        <input type="button" value="Cancel" onclick="go('<%= strHomePage %>');">
      </td>
</tr>
<tr>
<td>
<table width="100%" cellpadding="0" cellspacing="0" border="1" bordercolor="#CCCCCC">
<tr>
  <td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
  <div onclick="klip()">
  <img src="img/klip.gif" alt="Klip - Ctrl + X">
  </div>
  </td>
  <td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
  <div onclick="kopier()">
  <img src="img/kopier.gif" alt="Kopier - Ctrl + C">
  </div>
  </td>
  <td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
  <div onclick="satind()">
  <img src="img/satind.gif" alt="Sæt ind - Ctrl + V">
  </div>
  </td>
  <td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
  <div onclick="doBold()">
  <img src="img/fed.gif" alt="Fed - Ctrl + B">
  </div>
  </td>
  <td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
  <div onclick="doItalic()">
  <img src="img/skraa.gif" alt="Skrå - Ctrl + I">
  </div>
  </td>
  <td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
  <div onclick="doUnderline()">
  <img src="img/understreg.gif" alt="Understreg - Ctrl + U">
  </div>
  </td>
  <td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
  <div onclick="doLeft()">
  <img src="img/venstre.gif" alt="Ret til venstre">
  </div>
  </td>
  <td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
  <div onclick="doCenter()">
  <img src="img/centrer.gif" alt="Centrer">
  </div>
  </td>
  <td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
  <div onclick="doRight()">
  <img src="img/hojre.gif" alt="Ret til højre">
  </div>
  </td>
  <td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
  <div onclick="doOrdList()">
  <img hspace="2" vspace="1" src="img/talliste.gif" alt="Tal liste">
  </div>
  </td>
  <td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
  <div onclick="doBulList()">
  <img hspace="2" vspace="1" src="img/punktliste.gif" alt="Punkt liste">
  </div>
  </td>
  <td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
  <div onclick="indryk()">
  <img hspace="2" vspace="1" src="img/formindsk.gif" alt="Formindsk indrykning">
  </div>
  </td>
  <td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
  <div onclick="udryk()">
  <img hspace="2" vspace="1" src="img/forog.gif" alt="Forøg indrykning">
  </div>
  </td>
  <td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
  <div onclick="doLink()">
  <img hspace="2" vspace="1" src="img/link.gif" alt="Link - Ctrl + K">
  </div>
  </td>
  <td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
  <div onclick="doImage()">
  <img hspace="2" vspace="1" align="absmiddle" src="img/billede.gif" alt="Billede">
  </div>
  </td>
</tr>
<tr valign="middle">
  <td colspan="16" width="100%">
  <select onchange="doForeCol(this.options[this.selectedIndex].value);">
  <option value="0">Text farve</option>
  <option value="#000000">Sort</option>
  <option value="#FF0000">Rød</option>
  <option value="blue">Blå</option>
  </select>
  &nbsp;
  <select onchange="doFont(this.options[this.selectedIndex].value);">
  <option selected>Font</option>
  <option value="Arial">Arial</option>
  <option value="Times New Roman">Times New Roman</option>
  <option value="Verdana">Verdana</option>
  </select>
  &nbsp;
  <select onchange="doSize(this.options[this.selectedIndex].value);">
  <option selected>Størrelse</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
  <option value="7">7</option>
  <option value="8">8</option>
  </select>

</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center">
<div contentEditable="true" id="iView" name="iView" style="border-style: solid; border-width: 1px; border-color: #000000; background-color: #FFFFFF; padding-left: 3px; padding-right: 3px; padding-top: 3px; padding-bottom: 3px; width: 550px; height: 400px;">
<%= strFileContents %>
</div>
</td>
</tr>
<tr>
<td width="100%" align="center">
<input type="submit" value="Opdater"> &nbsp;
<input type="button" value="Cancel" onclick="go('<%= strHomePage %>');">
</td>
</tr>
</table>

</form>
<form method="POST" enctype="multipart/form-data" action="Upload.asp">
  <input type="file" name="fil">
  <input type="submit" value=" Upload ">
</form>
</body>
</html>

Ja der er lidt at gå igennem :)
Avatar billede thaman65 Nybegynder
11. december 2002 - 10:39 #19
En iframe løsning ville også være i orden. Men jeg skal kunne indlæse diverse html sider for at redigere i dem. Det skal fungere ligesom det gør nu, bortset fra at billedfunktionen gerne må virke. :)
Avatar billede thaman65 Nybegynder
11. december 2002 - 10:39 #20
Er der ikke en kæmpe ekspert der kan hjælpe mig?
Avatar billede pelkjaer Nybegynder
11. december 2002 - 10:41 #21
Jeg skal nok kigge på det senere hvis der ikke kommer andre svar - men jeg har lige en deadline :)
Avatar billede thaman65 Nybegynder
11. december 2002 - 10:43 #22
Mange tak.
Avatar billede thaman65 Nybegynder
11. december 2002 - 15:11 #23
Jeg fandt selv ud af det. Der skulle bare sættes focus på iview

iView.focus()

således :) egentlig ret simpelt.
Avatar billede thaman65 Nybegynder
11. december 2002 - 15:13 #24
Jeg lukker nu, men vil gerne dele pointsne med eagleeye da jeg har brugt noget af det du refererede til. :) Tak for hjælpen :) Så afgiv lige et svar eagleeye.
Avatar billede eagleeye Praktikant
11. december 2002 - 17:08 #25
Så svare jeg lige :)
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
Kurser inden for grundlæggende programmering

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