Avatar billede Slettet bruger
14. august 2005 - 23:48 Der er 5 kommentarer og
1 løsning

Hjælp til smileys i script

jeg sidder og forsøger på at lave nogle smileys, som kan bruges når der skrives en kommentar. Det virker fint, men når smileyen skal vises i beskeden så skriver scriptet bare :-) frem for at vise et hovede... Er der en der kan hjælpe mig med at får mit script til at vise et hovede frem for :-)


<b><FONT FACE="VERDANA" SIZE="1" COLOR='#473262'>Kommentar:</FONT></b><br>
<%
  ' Declaring variables
  Dim rs, data_source, no
  no = 0
  data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
            Server.MapPath("form.mdb")

  ' Creating Recordset Object and opening the database
  Set rs = Server.CreateObject("ADODB.Recordset")
    strSQL = "select * from comments where id = " & Request.QueryString("id") & ";"
comments = Replace(comments, ":-)", "<img src='smil_a.gif'>")

  rs.Open strSQL, data_source
  ' Looping through the records to show all of them
  While Not rs.EOF %>

<style>
<!--
fieldset    { border: 1px solid #DCB7DC }
-->
</style>
<fieldset style="padding: 2">
<legend>
<FONT FACE="VERDANA" SIZE="1" COLOR='#473262'><b>Skrevet af:</b> <i><a href="mailto:<%= rs("email") %>"><%= rs("name") %></a></i> <b>D.</b> <i><%=rs("comments") %></i>
</legend>
<%=rs("dato") %></font>
</div>
</fieldset>
<br>
<%
  no = no + 1
  rs.MoveNext
  Wend
  ' Done. Now close the Recordset
  rs.Close
  Set rs = Nothing
%>
<hr COLOR="#DCB7DC" SIZE="1">
<FONT FACE="VERDANA" SIZE="1" COLOR='#473262'><center><b>NB:</b> Useriøse indlæg bliver slette</center>
<b><center>Skriv kommentar:</center></FONT></b>
<form method="POST" action="save.asp">
  <input type="hidden" name="Mode" value="Comments">
  <input type="hidden" name="Id" value="<%= Request("Id") %>">
  <div align="center">
    <center>
    <table border="0" cellpadding="0" cellspacing="0" width="420">
      <tr>
        <td width="81"><FONT FACE="VERDANA" SIZE="1">Navn:</FONT></td>
        <td width="465"><input type="text" name="name" size="44" maxlength="255"></td>
      </tr>
      <tr>
        <td width="81"><FONT FACE="VERDANA" SIZE="1">E-Mail:</FONT></td>
        <td width="465"><input type="text" name="email" size="44" maxlength="255"></td>
      </tr>

      <tr>
        <td width="81" valign="top"><FONT FACE="VERDANA" SIZE="1">Besked:</FONT></td>
        <td width="465"><textarea class="area" rows="4" name="comments" cols="33"></textarea></td>
      </tr>
    </table>
    </center>
  </div>
<script type="text/javascript">
    <!--
    function storeCaret(textEl)
    {
    if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
    }

    function insertAtCaret(textEl, text)
    {
    if (textEl.createTextRange && textEl.caretPos)
    {
    var caretPos = textEl.caretPos;
    caretPos.text = (caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text);
    }
    else
    {
    textEl.value = textEl.value + text;
    }
    textEl.focus();
    }
    //-->
    </script>
<center><span class="small">Klik på en "Smiley" for at føje den til din comments!</span><br clear="all">
<img alt=":-) Glad"
border="0" height="12" hspace="2" onClick="insertAtCaret(document.getElementById('comments'),' :-) ');" src="smil_a.gif" style="cursor: hand; cursor: pointer" title=":-) Glad" width="12">
</p>
<br clear="all"></center>
  <p align="center"><input type="submit" value="Gem Kommentar" name="Send" class="button"></p>
</p>
</form>
Avatar billede dj_uncas Nybegynder
15. august 2005 - 02:41 #1
Det er fordi du udskriver rs("Comments") og ikke din string hvor :-) er replacet af et billede. Istedet for <i><%=rs("comments") %></i> skal du skrive <i><%=Replace(rs("comments"),":-)","<img src='smil_a.gif' alt='' />") %></i>
Avatar billede dj_uncas Nybegynder
15. august 2005 - 02:42 #2
alternativt kan du bruge den string du selv laver. Dette gøres sådan:

comments = rs("comments")
comments = replace(comments, ":-)","<img src='smil_a.gif' alt='' />")
...
<i><%=comments %></i>
Avatar billede Slettet bruger
15. august 2005 - 03:04 #3
jeg har prøvt mig frem og har ændret min kode til:
<FONT FACE="VERDANA" SIZE="1" COLOR='#473262'><b>Kommentar:</b></FONT><br>
<%
' Declaring variables
Dim rs, data_source, no
no = 0
data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=Server.MapPath("form.mdb")"

' Creating Recordset Object and opening the database
Set rs = Server.CreateObject("ADODB.Recordset")
strSQL = "select * from comments where id = " & Request.QueryString("id") & ";"
rs.Open strSQL, data_source

' Looping through the records to show all of them
While Not rs.EOF %>
<style>
<!--
fieldset    { border: 1px solid #DCB7DC }
-->
</style>
<fieldset style="padding: 2">
<legend>
<FONT FACE="VERDANA" SIZE="1" COLOR='#473262'><b>Skrevet af:</b> <i><a href="mailto:<%= rs("email") %>"><%= rs("name") %></a></i> <b>D.</b> <i><%=rs("comments") %></i>
</legend>
<%=rs("dato") %></font>
</div>
</fieldset>
<br>
<%
  no = no + 1
  rs.MoveNext
  Wend
  ' Done. Now close the Recordset
  rs.Close
  Set rs = Nothing
%>
<hr COLOR="#DCB7DC" SIZE="1">
<FONT FACE="VERDANA" SIZE="1" COLOR='#473262'><center><b>NB:</b> Useriøse indlæg bliver slette</center> <b><center>Skriv kommentar:</center></FONT></b>
<form method="POST" action="save.asp">
<input type="hidden" name="Mode" value="Comments">
<input type="hidden" name="Id" value="<%= Request("Id") %>">
<div align="center">
  <center>
  <table border="0" cellpadding="0" cellspacing="0" width="420">
    <tr>
      <td width="81"><FONT FACE="VERDANA" SIZE="1">Navn:</FONT></td>
      <td width="465"><input type="text" name="name" size="44" maxlength="255"></td>
    </tr>
    <tr>
      <td width="81"><FONT FACE="VERDANA" SIZE="1">E-Mail:</FONT></td>
      <td width="465"><input type="text" name="email" size="44" maxlength="255"></td>
    </tr>
    <tr>
      <td width="81" valign="top"><FONT FACE="VERDANA" SIZE="1">Besked:</FONT></td>
      <td width="465"><textarea class="area" rows="4" name="comments" cols="33"></textarea></td>
    </tr>
  </table>
  </center>
</div>
<script type="text/javascript">
<!--
function storeCaret(textEl)
{
if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}
function insertAtCaret(textEl, text)
{
if (textEl.createTextRange && textEl.caretPos)
  {
  var caretPos = textEl.caretPos;
  caretPos.text = (caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text);
}
else
  {
  textEl.value = textEl.value + text;
}
textEl.focus();
}
//-->
</script>
<center><span class="small">Klik på en "Smiley" for at føje den til din comments!</span><br clear="all">
<img alt=":-) Glad" border="0" height="12" hspace="2" onClick="insertAtCaret(document.getElementById('comments'),' :-) ');" src="smil_a.gif" style="cursor: hand; cursor: pointer" title=":-) Glad" width="12">
</p><br clear="all"></center>
<p align="center"><input type="submit" value="Gem Kommentar" name="Send" class="button"></p>
</p>
</form>
Avatar billede Slettet bruger
15. august 2005 - 03:06 #4
save.asp ser således ud:
<%
  ' Declaring variables
  Dim name, email, comments, data_source, con, sql_insert

  ' A Function to check if some field entered by user is empty
  Function ChkString(string)
  If string = "" Then string = " "
  ChkString = Replace(string, "'", "''")
  End Function

  ' Receiving values from Form
  name = ChkString(Request.Form("name"))
  email = ChkString(Request.Form("email"))
  comments = ChkString(Request.Form("comments"))
  Id = ChkString(Request.Form("Id"))

  data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("form.mdb")
    sql_insert = "insert into comments (Id, name, email, comments, dato) values (" & Id & ", '" & name & "', '" & email & "', Date(), '" & comments & "')"
       
  ' Creating Connection Object and opening the database
  Set con = Server.CreateObject("ADODB.Connection")
  con.Open data_source
  con.Execute sql_insert
  ' Done. Close the connection
  con.Close
  Set con = Nothing
  Response.Write "Tak for din kommentar."
      ' =============================================
Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ContentType = "text/html"
JMail.ServerAddress = "mail3.cliche.dk"
JMail.Priority = 1
JMail.Sender = ""
JMail.AddRecipientEx "", ""
Jmail.AddRecipientCC ""
Jmail.AddRecipientBCC ""
JMail.Subject = "Der er skrevet en kommentar.."
JMail.Body = "Der er skrevet en kommentar i dagbogen."
JMail.Execute
Set JMail = Nothing

%>
men scriptet viser stadig ikke et hovede men :-)
Avatar billede dj_uncas Nybegynder
15. august 2005 - 15:39 #5
Vil du gemme <img /> i databasen istedet for :-) eller vil du bare ændre :-) til et billede når du udskriver det? Hvis det er det sidste skal du gøre som jeg skrev før. I første fald skal du gøre således:

comments = ChkString(Request.Form("comments"))

'denne linje replacer :-) med et billede.
comments = Replace(comments, ":-)", "<img src='smil_a.gif' />")

derefter skal du bare fortsætte som det er nu
Avatar billede Slettet bruger
29. maj 2011 - 12:03 #6
luk
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