Avatar billede artery_graphics Nybegynder
25. februar 2002 - 18:47 Der er 15 kommentarer og
1 løsning

Tekst wrap funktion til formular

Hvordan kan jeg undgå at tekst indtastet i denne tekstformular modtages pr. email i én lang linie.
(hvis bruger ikke selv har lavet linieskift)

<textarea name="message" wrap="virtual" cols="30" rows="7"></textarea>

jeg bruger denne funktion i min mailhandler:

objMailer.HTMLBody = "<HTML><head><style media=""screen"" type=""text/css"">.tekst  { color: #333333; font-size: 10px; font-family: Verdana, Arial, Helvetica, Geneva }</style></head><BODY BGCOLOR=""#FFFFFF""><P class=""tekst"">" + message + "</a></b></BODY></HTML>"
Avatar billede ras2000 Nybegynder
26. februar 2002 - 11:56 #1
Du kan sætte <br> ind efter et vist antal tegn.
tempmessage = "";
b = 0;
for (i = 0; i < message.length; i++){
b ++;
tempmessage = tempmessage + message.charAt(i);
if (b==20){
tempmessage = tempmessage + "<br>";
b = 0;
}
}
Den kommer selvfølgelig til at bryde teksten midt i ordene, men det kan vel også klares.
Avatar billede ras2000 Nybegynder
26. februar 2002 - 13:15 #2
tempmessage = "";
b = 0;
for (i = 0; i < message.length; i++){
b ++;
tempmessage = tempmessage + message.charAt(i);
if (b > 20 && charAt(i) == " "){
tempmessage = tempmessage + "<br>";
b = 0;
}
}
Denne her sætter et linieskift ind efter min 20 tegn, hvor der er et mellemrum. Hvis du vil have kortere eller længere linier skal du ændre på linien:
if (b > 20 && charAt(i) == " "){
ændre 20 til noget mindre eller større.
Avatar billede artery_graphics Nybegynder
26. februar 2002 - 13:21 #3
Okay .. det lyder fint...
Men jeg ved slet ikke hvordan jeg bruger dette kode sammen med min egen ovenstående. Skal det indsættes i mailformularen? Og i såfald hvor?
Avatar billede ras2000 Nybegynder
26. februar 2002 - 13:25 #4
Prøv at skriv et link til siden, eller læg hele koden for siden her.
Du lægger message ind i objmailer.htmlbody, sker det ikke i en funktion? Hvis det gør, skal du bare lægge min kode ind lige før den kode du skrev ovenover.
Avatar billede artery_graphics Nybegynder
26. februar 2002 - 13:34 #5
Det er min komplette Mailhandler



<%
sprog=Session("sprog")

name=Request.Form("name")
mail=Request.Form("email")
subject=Request.Form("subject")
message=Request.Form("message")


'most control methods throw an exception if an error occurs so we will use an On Error statement
'On Error Resume Next

Dim objMailer 'Mailer control

'create instance of Mailer control
Set objMailer = Server.CreateObject("Dundas.Mailer")

'set Mailer control properties and collection items
objMailer.TOs.Add "privat@theselfimages.com"
objMailer.FromName = name
objMailer.FromAddress = mail
objMailer.Subject = subject

objMailer.HTMLBody = "<HTML><head><style media=""screen"" type=""text/css"">.tekst  { color: #333333; font-size: 10px; font-family: Verdana, Arial, Helvetica, Geneva }</style></head><BODY BGCOLOR=""#FFFFFF""><P class=""tekst"">" + message + "</a></b></BODY></HTML>"

'send email
objMailer.SendMail
'you can test for the success/failure of the operation by examining VBScript's Err object here

Set objMailer = Nothing
%> <html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<link rel="stylesheet" href="indhold.css">
</head>

<body bgcolor="#ffffff" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">

<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%">
  <tr>
    <td>
    <div align="center">
      <span class="tekst"><%if sprog=1 then%>The mail is on it's way..<%else%>Email
      afsendt<%end if%></span></div>
    </td>
  </tr>
</table>

</body>

</html>
Avatar billede ras2000 Nybegynder
26. februar 2002 - 13:40 #6
Hm, så har vi et lille problem, jeg skrev klientside javascript, og du skriver asp+vbscript. Jeg ser lige om jeg kan klare det i vbscript.
Avatar billede ras2000 Nybegynder
26. februar 2002 - 13:54 #7
sæt det her ind
for i = 1 to Len(message)
b = b + 1
tempmessage = tempmessage & Mid(message,i,1)
if b > 20 and Mid(message,i,1) = " " then
    tempmessage = tempmessage & "<br>"
    b = 0
end if
next
message = tempmessage
lige efter der hvor du har skrevet:
message=Request.Form("message")
så skulle den være der.
Avatar billede artery_graphics Nybegynder
26. februar 2002 - 14:05 #8
Hmm.. det virker ikkke

Efter submit sker der ingenting.
Den søger og melder til sidst: siden kan ikke vises !!!


Skal denne linie ikke afsluttes på en eller anden måde?

message = tempmessage
Avatar billede ras2000 Nybegynder
26. februar 2002 - 14:09 #9
Nej det burde ikke være nødvendigt. Det virkede efter hensigten på min maskine. Jeg går ud fra at det virkede som det skulle før. Gider du paste hele koden for siden som den ser ud nu? Så må jeg lige se om jeg skulle have lavet noget lort.
Avatar billede artery_graphics Nybegynder
26. februar 2002 - 14:14 #10
MAILHANDLER:


<%
sprog=Session("sprog")

name=Request.Form("name")
mail=Request.Form("email")
subject=Request.Form("subject")
message=Request.Form("message")
for i = 1 to Len(message)
b = b + 1
tempmessage = tempmessage & Mid(message,i,1)
if b > 20 and Mid(message,i,1) = " " then
    tempmessage = tempmessage & "<br>"
    b = 0
end if
next
message = tempmessage

'most control methods throw an exception if an error occurs so we will use an On Error statement
'On Error Resume Next

Dim objMailer 'Mailer control

'create instance of Mailer control
Set objMailer = Server.CreateObject("Dundas.Mailer")

'set Mailer control properties and collection items
objMailer.TOs.Add "privat@theselfimages.com"
objMailer.FromName = name
objMailer.FromAddress = mail
objMailer.Subject = subject

objMailer.HTMLBody = "<HTML><head><style media=""screen"" type=""text/css"">.tekst  { color: #333333; font-size: 10px; font-family: Verdana, Arial, Helvetica, Geneva }</style></head><BODY BGCOLOR=""#FFFFFF""><P class=""tekst"">" + message + "</a></b></BODY></HTML>"

'send email
objMailer.SendMail
'you can test for the success/failure of the operation by examining VBScript's Err object here

Set objMailer = Nothing
%> <html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<link rel="stylesheet" href="indhold.css">
</head>

<body bgcolor="#ffffff" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">

<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%">
  <tr>
    <td>
    <div align="center">
      <span class="tekst"><%if sprog=1 then%>The mail is on it's way..<%else%>Email
      afsendt<%end if%></span></div>
    </td>
  </tr>
</table>

</body>

</html>




MAIL FORMULAR:

<% sprog=Session("sprog") %><html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<link rel="stylesheet" href="../indhold.css">
<style type="text/css">
BODY{
  scrollbar-3d-light-color: #ffffff;
  scrollbar-arrow-color: #ff0000;
  scrollbar-base-color: #ffffff;
  scrollbar-dark-shadow-color: #ffffff;
  scrollbar-face-color: #ffffff;
  scrollbar-highlight-color: #ffffff;
  scrollbar-shadow-color: #ffffff;
}
</style>
<script>
   
    function vali(hvad){

    if (document.Form.name.value==""){ //
    document.Form.name.focus()
    return false
    }
   
    else if (document.Form.subject.value==""){ //
    document.Form.subject.focus()
    return false
    }
   
    else if (document.Form.email.value.indexOf('@')==-1||document.Form.email.value==""){ //
    document.Form.email.focus() //
    return false
    }
 
    else
    return true
}
</script>
</head>

<body bgcolor="#ffffff" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<form name="Form" action="../mailhandler.asp" onsubmit="return vali(this)" method="post">
  <table border="0" width="100%" cellspacing="0" height="100%" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111">
    <tr>
      <td>
      <div align="center">
        <center>
        <table border="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" width="195">
          <tr>
            <td><% if sprog=1 then %>
            <p class="tekst">Full name</font><br>
            <input name="name" type="text" size="36" maxlength="75" id="input"><br>
            <br>
            Email address<br>
            <input name="email" type="text" size="36" maxlength="75" id="input"><br>
            <br>
            Subject<br>
            <input name="subject" type="text" size="36" maxlength="75" id="input"><br>
            <br>
            Message<br>
            <textarea name="message" wrap="virtual" cols="35" rows="7" id="input"></textarea><br>
            <br>
            <input type="image" onMouseOver="this.src='../images/ok2.gif';" onMouseOut="this.src='../images/ok.gif';" src="../images/ok.gif" onfocus="this.blur( )" border="0" width="30" height="23">
            </p>
            <p class="tekst"><br>
            </p>
            <% elseif sprog=2 then %>
            <p class="tekst">Fulde navn</font><br>
            <input name="name" type="text" size="36" maxlength="75" id="input"><br>
            <br>
            Email adresse<br>
            <input name="email" type="text" size="36" maxlength="75" id="input"><br>
            <br>
            Emne<br>
            <input name="subject" type="text" size="36" maxlength="75" id="input"><br>
            <br>
            Besked<br>
            <textarea name="message" cols="35" rows="7" id="input"></textarea><br>
            <br>
            <input type="image" onMouseOver="this.src='../images/ok2.gif';" onMouseOut="this.src='../images/ok.gif';" src="../images/ok.gif" onfocus="this.blur( )" border="0" width="30" height="23"><%end if%></td>
          </tr>
        </table>
        </center>
      </div>
      </td>
    </tr>
  </table>
</form>

</body>

</html>
Avatar billede ras2000 Nybegynder
26. februar 2002 - 14:20 #11
Og den virker uden den kode jeg skrev?
Avatar billede artery_graphics Nybegynder
26. februar 2002 - 14:22 #12
ja ... uden problemer
Avatar billede ras2000 Nybegynder
26. februar 2002 - 14:25 #13
Underligt. Det skulle ikke have nogen indflydelse på andet end det der bliver udskrevet. Prøv at ændre det her:
message=Request.Form("message")
for i = 1 to Len(message)
b = b + 1
tempmessage = tempmessage & Mid(message,i,1)
if b > 20 and Mid(message,i,1) = " " then
    tempmessage = tempmessage & "<br>"
    b = 0
end if
next
message = tempmessage

til det her:

message=Request.Form("message")
tempmessage = ""
b = 0
for i = 1 to Len(message)
b = b + 1
tempmessage = tempmessage & Mid(message,i,1)
if b > 20 and Mid(message,i,1) = " " then
    tempmessage = tempmessage & "<br>"
    b = 0
end if
next
message = tempmessage
Avatar billede artery_graphics Nybegynder
26. februar 2002 - 14:38 #14
Cool. Det virker nu.

Post et svar hvis du vil ha' dine velfortjente point.
Tusind tak for hjælpen.
Avatar billede ras2000 Nybegynder
26. februar 2002 - 14:40 #15
Oh, det glemmer jeg hele tiden. Du kunne egentlig også have brugt de første scripts jeg skrev, i afsender siden, men denne løsning er klart pænere.
Avatar billede artery_graphics Nybegynder
26. februar 2002 - 14:50 #16
Jeg er fuldt ud tilfreds med denne løsning.
Takker.
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