webForumDet fria alternativet

Bläddra efter bild till formulär

ASP

18 svar · 714 visningar · startad av jlee

Medlem sedan dec. 2002378 inlägg
Frågan#1

Jag har en sida som ska visa nyheter och detta görs med ett formulär som skickar upp allt till databas och sen en sida som visar nyheterna..detta funkar ok men skulle vilja kunna bläddra efter bild direkt i formuläret via ett knapptryck "bläddra" efter bild som sen hamnar där jag har markören i formen. Så man ska kunna lägga till bild efter eller innan text där det passar.
(idag använder jag mig av en funktion som byter ut text mot bild tex: bild1 är 1.jpg men vill kunna "browsa" efter bild direkt till formen=enklare!)
Har frågat på ett annat forum men detta verkar vara en svår funktion?!
En del online-webeditorer har ju detta men kan inte utläsa från dess kod hur detta ska göras.
Kan någon svara på denna enligt mig svåra fråga?

Medlem sedan apr. 200373 inlägg
#2

Hmmm läste det 2 gånger, blev dock inte klok på texten?

Är det någon form av sorteringsfunktion du letar efter eller att du vill kunna bryta in bild/text i en viss ordning?

Typ:
(inom paranters föregående listordning)
x = din inbrytning
1 2 3
1 x 2 3 blir
1 2(x) 3(2) 4(3)

Är detta korrekt?

Medlem sedan feb. 200235 inlägg
#3

Hej

Jag fattar inte riktigt heller men jag tror att det du är ute efter är en upload. Kolla på ditt webhotell om det finns en sådan 3e-part komponent installerad, dom är rätt lägga att använda. Många har t.ex denna http://www.aspupload.com/.

Skillnaden är inte så stor mot ett vanligt webformulär. I form-taggen måste följande finnas ... ENCTYPE="multipart/form-data"
<form method="post" action="upload.asp" ENCTYPE="multipart/form-data">
Bilden hämtar med form-objektet FILE
<INPUT TYPE=FILE NAME="THEFILE" />

upload.asp ska vara en separat fil med f.ex följande kod för Persits

Set Upload = Server.CreateObject("Persits.Upload")
Upload.SetMaxSize 100000, True
Upload.OverwriteFiles = False
Upload.Save sPath
Set File = Upload.Files("THEFILE")
If Not File Is Nothing Then
'Spara i databasen med bild
Else
'Spara i databasen utan bild
End If
Set File = Nothing
Set Upload = Nothing

För att få tag på övriga form-värden så används i stället för Request.Form("Fältnamn") -> Upload.Form("Fältnamn")

Det finns bra exempel som du kan ladda hem hos tillverkaren av aktuell komponenten.
Du kan också bygga din egen upload med ASP, har gjort det för länge sedan men minns tyvärr inte hur.

Hoppas detta kan hjälpa dig
/PG

Medlem sedan feb. 200235 inlägg
#4

Aha

Nu fattar jag. Du befinner dig i en rich edit och vill att bilden ska hamna vid markören.
Då kan du använda javascript.

Ex.
Om du har en iframe med namnet MinIFrame
var theImg = "minbild.gif";
function InsertImage(theImg){
var nPadding = 2;
var sHTMLStr = "<img vspace=\"" + nPadding + "\" hspace=\"" + nPadding + "\" src=\"<%=sPath%>" + theImg + "\" />";
MinIFrame.focus();
var cursor = MinIFrame.document.selection.createRange();
cursor.pasteHTML(sHTMLStr);
}
sPath är sökvägen till bilden på servern som du enklast får fram med
Server.MapPath("..\") & "\bildmapp\"

Ovanstående tror jag dock bara funkar i Internet Explorer. Håller själv på med en Rich edit till Firefox men har inte kommit så långt.

/PG

Medlem sedan dec. 2002378 inlägg
#5

Exakt PG....så menar jag..ska testa detta och se om det funkar...annars återkommer jag. Upload har jag redan men bilden ska ju hamna där marören är i formen med text...det var problemet.
Hur kombinerar jag upload med ditt exempel till formen?

Medlem sedan dec. 2002378 inlägg
#6

En bild som visar hur jag menar

Bifogar en bild som visar hur jag menar..

form.gif
Medlem sedan feb. 200235 inlägg
#7

Hur man gör i ditt fall vet jag inte riktigt. Problemet blir att efter upload så laddas sidan med formuläret om och då försvinner informationen om cursor position i iframe, men det går säkert att lösa om man labbar sig fram. Själv öppnat jag ett nytt fönster för bildhanteringen och använder följande för att infoga i iframe....

function getInfoAndUpdate(theForm, theImg){
var nPadding = theForm.padd.value;
var sHTMLStr = "<img vspace=\"" + nPadding + "\" hspace=\"" + nPadding + "\" src=\"<%=sPath%>" + theImg + "\" "
if(theForm.orient.value != "") sHTMLStr += " align=\"" + theForm.orient.value + "\" ";
sHTMLStr += " />";
opener.<%=sIframeName%>.focus();
var cursor = opener.<%=sIframeName%>.document.selection.createRange();
opener.<%=sIframeName%>.focus();
cursor.pasteHTML(sHTMLStr);
this.close();
}

sPath beskrev jag tidigare och sIframeName är så klart ditt namn på aktuell iframe.
theForm.padd.value och theForm.orient.value är val man har i formuläret för marginal och orientering

/PG

Medlem sedan feb. 200235 inlägg
#8

Jag måste bara spåna lite till....
Jag antar att du använder någon form av Rich Edit och inte bara "vanlig" textarea? Själv använder jag en iframe som anropar en fil loadtext.asp där texten hämtas från databasen. Om det går att använda Rich Edit i en textarea vet jag inte, någon som provat?

/PG

Medlem sedan dec. 2002378 inlägg
#9

Jag har inte använt en rich edit...hur får man en sådan? detta går alltså inte att göra i en vanlig textarea?

Medlem sedan feb. 200235 inlägg
#10

Nej inte vad jag vet.

Här är ett enkelt exempel på rich edit

<script language="javascript">
function setDMode()
{
sIframeName.document.designMode = "on";
}
</script>
<body onload="javascript:SetDMode();">
<form>
<iframe id="sIframeName"></iframe>
</form>
</body>

Nu kan du påverka designen i denna iframe.
T.ex ändra typsnitt
sIframeName.document.execCommand("FontName", "Verdana");

För att fånga upp innehållet vid submit använder man
sIframeName.document.body.innerHTML;
sIframeName.document.body.innerText;

/PG

Medlem sedan dec. 2002378 inlägg
#11

Har nu hört att det går att göra det jag vill i en vanlig textarea. Så om jag har en textarea och en browseknapp under. Jag browsar efter bild på hårddisken...klickar ladda upp och sen kommer där kod i textarean som säger tex <img src="bil.jpg"></img>. (detta motsvarar då bilden som precis blev uppladdad) Idag kan jag göra detta med tex att stoppa in <b> tagg för bold text vid knapptryck. Men kan någon göra samma med bild?

Om det är detta du menar PG vet jag inte..har du någon sida som exempel där jag kan se hur du menar?

Medlem sedan juli 20041 183 inlägg
#12

Så länge du inte vill ha in själva "bilden" i textformuläret så är det möjligt...

Om du trycker på upload så får du se till så att nyheten inte sparas när sidan laddas om och skriva in all data igen i formuläret. Innan du skickar kan du också kontrollera vart markören står med hjälp av javascript och infoga i ett hidden-fält. När du laddat upp bilden infogar du bara din text-hänvisning till bilden där markören stod med hjälp av data från ditt förra formulär... Innan du sparar nyheten byter du ut din bild-hänvisning mot en <img>-tag. Eller efteråt, det krävs bara lite tänk och planering innan man sätter sig ner och kodar...

Medlem sedan dec. 2002378 inlägg
#13

Nej, själva bilden skulle inte in i textarean....bara taggarna med bildens hela namn+filändelse.
Har någon ett fungerande exempel på detta? För detta är inget jag klarar på egen hand..

Medlem sedan feb. 200235 inlägg
#14

Jag la upp en demo du kan testa

http://www.hotweb.se/aspportal1/code/page.asp?actID=7&CountryID=13

Följ instruktionerna på startsidan

/PG

Medlem sedan dec. 2002378 inlägg
#15

Ok det ser ju jättebra ut PG men jag klarar fortfarande inte att bygga något sådant....

Medlem sedan feb. 200235 inlägg
#16

Kan du inte göra det lätt för dig och ha en bild/sida som ligger top-höger orienterad. Vid upload spara i så fall bildens URL i databasen i t.ex sImageURL. Sedan skriver du ut sidan så här

Response.Write "<p>"
If RS("sImageURL") <> "" Then
Response.Write "<img src=""" & sPath & RS("sURL") & """ border=""0"" align=""right"" valign=""top"" vspace=""2"" hspace=""2"" />"
End If
Response.Write RS("sText")
Response.Write "</p>"

/PG

Medlem sedan juli 20041 183 inlägg
#17

Om man vill välja hörn kan man ju alltid lägga ett extra alternativ där man skapar nyheten :P

pq, vet du vart kan man läsa mer om RichText och hur man bygger en sådan editor?? Blev lite nyfiken nu :P

Medlem sedan dec. 2002378 inlägg
#18

Om jag väljer att göra på detta sätt, kommer jag att kunna använda detta även om jag har en form för redigering av befintlig nyhet? Alltså en form som innehåller en redan beintlig text och bilder. Går detta att kombinera då?

Medlem sedan feb. 200235 inlägg
#19

Ja uppdatera eller skapa är ingen skillnad.
Man kan t.ex anropa en extern fil som laddar html-koden från databasen.

<iframe id="sIframeName" src="getcontent.asp?ID=123"></iframe>

Jag kommer inte på någon speciell sida för info. Men prova att söka på typ +example+rich+edit
Sedan måste man som sagt anpassa koden för IE och Mozilla.
http://www.mozilla.org/editor/midas-spec.html

/PG

263 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)