Avatar billede csrasmussen Nybegynder
30. december 2003 - 17:14 Der er 4 kommentarer

Problemer med pop-ups

Jeg har en site med en stor form. Over formen kan man trykke "Upload billede" på upload billede. Her åbner så følgende kode i en pop-up:


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Inds&aelig;t billede</title>
<style type="text/css">
body {
  text-align: center;
}
span {
  color: #02427D;
  font-family: "R Frutiger Roman", Frutiger, Verdana, charcoal, "ms sans serif", geneva, arial, helvetica;
  font-size: 20px;
  font-weight: bold;
}
form {
  display: inline;
}
td {
  font-family: "R Frutiger Roman", Frutiger, Verdana, charcoal, "ms sans serif", geneva, arial, helvetica;
  font-size: 10px;
}
input {
  border: 1px solid black;
  font-family: "R Frutiger Roman", Frutiger, Verdana, charcoal, "ms sans serif", geneva, arial, helvetica;
  font-size: 10px;
}
select {
  font-family: "R Frutiger Roman", Frutiger, Verdana, charcoal, "ms sans serif", geneva, arial, helvetica;
}
</style>
<script type="text/javascript">
ov = dialogArguments;

function indsaet(frm) {

  url = frm.url.value;
//Hvis feltet "url" ikke er udfyldt (eller der kun står "http://"), blinker det hurtigt rødt for at indikere over for brugeren, at han mangler det
  if (url == "" || url == "http://") {
    frm.url.style.backgroundColor = "#FF0000";
    frm.url.focus();
    setTimeout("document.bForm.url.style.backgroundColor = '#FFFFFF';", 200);
    return;
  }
//Justeringen hentes fra selectboksen med navnet "just"
  just = frm.just.options[frm.just.selectedIndex].value;
  ov.document.all.editor.focus();
//Et billede tilføjes i editoren med den valgte url og justering
  ov.document.selection.createRange().pasteHTML('<img src="' + url + '" border="0" align="' + just + '">');
  ov.document.all.editor.focus();
//Dette vindue lukkes
  self.close();
}
</script>
</head>
<!-- Når siden er loadet, får det første felt automatisk fokus -->
<body onLoad="document.bForm.url.select();">
<span>INDSÆT BILLEDE</span>
<form name="bForm" onSubmit="indsaet(this); return false;">
<table width="100%">
<tr>
<td>
URL:
</td>
<td colspan="2">
<!-- Billedets URL (altså SRC) -->
<input type="text" name="url" value="http://" size="30">
</td>
</tr>
<tr>
<td>
Justering:
</td>
<td>
<!-- Selectboksen med justering -->
<select name="just">
<option value="left" selected>Venstre</option>
<option value="right">H&oslash;jre</option>
<option value="">Ingen</option>
</select>
</td>
<td align="right">
<input type="submit" value="Inds&aelig;t">
</td>
</tr>
</table>
</form>
</body>
</html>

Her vil jeg istedet gerne have at det skal kunne finde filer på HD'en istedet (ved brug af AspUpload). Dette stykke kan jeg godt, men problemet er at værdierne tilbage til den oprindelig form..???
Avatar billede deeflate Nybegynder
30. december 2003 - 17:58 #1
Du kan f.eks. placere et lille ikon under hvert billede, som man trykker på, når man vil tilføje billedet.

<img src='add.gif'
onclick="opener.document.edit.navnetPåDitFeltIFormen.value='<%=image.name%>';"
style="cursor:pointer; cursor:hand;" alt='Tilføj dette billede'>
Avatar billede deeflate Nybegynder
30. december 2003 - 18:09 #2
Jeg har forresten et par scripts liggende, der gør det, du beder om.
Der er et her, der kun viser filer med bestemte exts, men den del kan du jo bare fjerne ;)

<%
if request.querystring("dir") = "" Then
  ' Angiv mappe. Skal slutte med /
  ' Default er ../ - Undermappen!
  ImageDir = "images/"
else
  Imagedir = Request.querystring("dir") & "/"
end if

Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFS.GetFolder(Server.MapPath(ImageDir))
Set objFiles = objFolder.Files %>

Images in the folder <b><%=ImageDir%></b>:<br><br>

<%
Dim billede, iBillede, antalBilleder

billede= 0
iBillede = 0
antalBilleder = 0

response.Write "<table border='0' cellspacing='5' cellpadding='15'><tr>"

For Each Image In objFiles

  var=split(Image.Name,".")

  if LCase(var(1)) = "png"  or LCase(var(1)) = "gif" or LCase(var(1)) = "jpeg" or LCase(var(1)) = "jpg" Then
    billede = 1
    antalBilleder = antalBilleder + 1
  end if

  If billede = 1 Then
    response.Write "<td align='center' valign='bottom'>"
    response.Write "<br><br><a href='" & ImageDir & Image.Name & "'>"

    %>

    <img src='<%=ImageDir%><%=Image.Name%>' border='0' width='200'></a>
    <br><%=image.name%>
    <br>
    <img src='gfx/add.gif' onclick="opener.document.myForm.images.value='<%=ImageDir & image.name%>';window.close()">
    <%

    response. Write "</td>"

    If iBillede = 4 Then
      response.Write "</tr><tr>"
      iBillede = 0
    End if

    iBillede = iBillede + 1
    billede = 0

End if

Next

response.Write "</tr></table>"

If antalBilleder = 1 Then
  response.Write "<br><br>There is 1 image in this folder"
Else
  response.Write "<br><br>There are " & antalBilleder & " images in this folder"
End if

'response.Write "<br>There is a total of " & i & " files in this folder.<br>"

response.Write "<br><br><br><hr><br><br>"
response.Write "<font class='heading'>Upload new image</font><BR><br>"


%>

<FORM name="upload" ENCTYPE="multipart/form-data" ACTION="upload_<%=request.Querystring("dir")%>.asp" METHOD="POST">
<br>Uploaded files will overwrite existing files of the same filename!!!<br><br>So make sure to rename your files to a unique name before you upload!<br><br>
<INPUT NAME="fileupload_file" TYPE="file" class="input"><BR>

<br><INPUT NAME="Action" TYPE="submit" VALUE="Upload" class="input">
</FORM>
Avatar billede deeflate Nybegynder
30. december 2003 - 18:26 #3
Action for formen forneden er naturligvis det dokument, hvor upload finder sted...
Avatar billede deeflate Nybegynder
03. maj 2004 - 10:30 #4
I forbindelse med ekspertens nylige serverskift er dette spørgsmål blevet genåbnet.
Jeg kan ikke huske om du accepterede mit svar i sin tid, men hvis du gjorde, så er det i hvert fald blevet u-accepteret nu...
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