05. november 2005 - 17:30Der er
36 kommentarer og 1 løsning
Integrere en editor i formular!
Den opgave slap jeg ikke vide godt fra :o((
Jeg prøver på, at tilføj en editor til en kommentarsektion på en side, men jeg får denne fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/upload/vis.asp, line 318
Og det har intet med formular sektionen at gøre, linie altså!!!
Jeg bruger /Cross-Browser Rich Text Editor/ til siden.
Koden til formular er:
<%' HER ER VISNING SIDEN Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("foto.mdb") strSQL = "Select * from kommen where kategori="&request.querystring("rid")
set rs = Conn.execute(strSQL)
if rs.EOF then Response.write "" else Do Until rs.EOF dim kategori kategori = rs("kategori") %> <b>Dato:</b> <%=RS("kommendato")%><br> <b>Indsendt af:</b> <%=RS("kommennavn")%><br> <b>Kommentar:</b> <%=RS("besked")%><br></p> </p> <hr align="left"> <div align="left"><br> <%RS.MoveNext Loop end if
Conn.Close Set Conn = Nothing%> </div></td> </tr> <tr>
<script language="JavaScript" type="text/javascript"> <!-- function submitForm() { //make sure hidden and iframe values are in sync before submitting form //to sync only 1 rte, use updateRTE(rte) //to sync all rtes, use updateRTEs updateRTE('rte1'); //updateRTEs(); alert("rte1 = " + document.RTEDemo.rte1.value);
//change the following line to true to submit form return false; }
//Usage: initRTE(imagesPath, includesPath, cssFile, genXHTML) initRTE("images/", "", "", true); //--> </script> <noscript><p><b>Javascript must be enabled to use this form.</b></p></noscript>
Den fik jeg ikke med i mit spørgsmål ser jeg nu :o( Jeg er ret overbevist om, det er noget med javascript, men den kan jeg godt nok ikke lige dreje, men her er koden MED insert....
<%' HER ER VISNING SIDEN Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("foto.mdb") strSQL = "Select * from kommen where kategori="&request.querystring("rid") set rs = Conn.execute(strSQL)
if rs.EOF then Response.write "" else Do Until rs.EOF dim kategori kategori = rs("kategori") %> <b>Dato:</b> <%=RS("kommendato")%><br> <b>Indsendt af:</b> <%=RS("kommennavn")%><br> <b>Kommentar:</b> <%=RS("besked")%><br></p> </p> <hr align="left"> <div align="left"><br> <%RS.MoveNext Loop end if
Conn.Close Set Conn = Nothing%> </div></td> </tr> <tr>
<!-- function submitForm() { //make sure hidden and iframe values are in sync before submitting form //to sync only 1 rte, use updateRTE(rte) //to sync all rtes, use updateRTEs updateRTE('besked'); //updateRTEs();
//change the following line to true to submit form return true; }
//Usage: initRTE(imagesPath, includesPath, cssFile, genXHTML) initRTE("images/", "", "", true); //--> </script> <noscript><p><b>Javascript must be enabled to use this form.</b></p></noscript>
<%' HER ER FORMSIDEN DBPATH = "DBQ=" & Server.MapPath("foto.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}" Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open DBPATH
If Request.QueryString("mode") = "new" Then navn = Request.Form("navn") besked1 = Request.Form("besked") besked1 = Replace(besked1, "'", "''") besked1 = Replace(besked1, vbCrLf, "<br>") besked = besked1 kategori=request.querystring("rid") If navn="" Or besked="" then Response.Write "<b>Du skal udfylde alle felter!</b>" Else
2) Fejlen ligger garanteret i Request.QueryString("mode"). Prøv: "*" & reponse.write Request.QueryString("mode") & "*". Hvis den bare udskriver "**" eller noget andet end "*new*", har du fundet fejlen.
3) For at se hvad den afvikler, prøv at 3a) kommentere redirect-linien: ' response.redirect ... 3b) indsætte nogle "checkpoints", dvs: response.write "<br>indsætter i database<br>"
Hvad skal det betyde? Hvordan har du fundet ud af det? Hvad skriver den? Osv.. Du bliver nødt til at beskrive "det", da jeg ikke sidder ved siden af dig :-)
"an attribute value must be a literal unless it contains only name characters"
skal du bare putte din værdi i "".. Eksempel: fejl ved: width=100% retrelse: width="100%"
2) Når du indsætter referencer til billeder, skal du huske at indsætte ALT-parameteren, som vil blive vist, hvis billedet ikke bliver loadet. Tilføj samme beskrivelse i TITLE-parameteren.
Eksempel: <img src="images/6_kg_fisk.jpg" alt="billede af en fisk på 6 kg" title="billede af en fisk på 6 kg">
3) Husk at lukke tags i den rigtige rækkefølge. Eksempel (læg mærke til rækkefølgen af start -og slut tags): <div><i><b>denne tekst er med fed</b></i></div>
4) I URLs skal "&" erstattes af "&", da den ellers tror at det er en entitet (som f.eks. " ", hvilket er mellemrum). Eksempel: <form action="vis.asp?mode=new&rid=33&t=FangstRapporter" method="post">
Nu har jeg prøvet lidt frem og tilbage. Når man tilføjer en kommentar skriver den *new*. Så har jeg prøvet, at fjerne selve beskeden og der gemmer den rigtig nok navn og dato!!! Så jeg tror det er noget med JavaScript til editoren den er galt med, den sidder jeg lige pt. og roder med.....................
Jeg bliver ved, der manglede noget til javascript!!! Nu kan den da skrive til databasen, men kun "sContent", kan bare ikke lige se, hvad der skal ændres :o)
<!-- function submitForm() { //make sure hidden and iframe values are in sync before submitting form //to sync only 1 rte, use updateRTE(rte) //to sync all rtes, use updateRTEs updateRTE('besked'); //updateRTEs();
//change the following line to true to submit form return true; }
//Usage: initRTE(imagesPath, includesPath, cssFile, genXHTML) initRTE("images/", "", "", true); //--> </script> <noscript><p><b>Javascript must be enabled to use this form.</b></p></noscript>
<script language="JavaScript" type="text/javascript"> <!-- <% if request.form("besked") = "" then sContent = "here's the " & chr(13) & """preloaded <b>content</b>""" sContent = RTESafe(sContent) else sContent = (request.form("besked")) end if %>//Usage: writeRichText(fieldname, html, width, height, buttons, readOnly) writeRichText('besked', '<%=sContent%>', 520, 200, true, false); //--> </script>
<% function RTESafe(strText) 'returns safe code for preloading in the RTE dim tmpString
tmpString = trim(strText)
'convert all types of single quotes tmpString = replace(tmpString, chr(145), chr(39)) tmpString = replace(tmpString, chr(146), chr(39)) tmpString = replace(tmpString, "'", "'")
RTESafe = tmpString end function %> <p> <input type="submit" value="Tilføj"> </p> </form>
<!-- END Demo Code -->
<%' HER ER FORMSIDEN DBPATH = "DBQ=" & Server.MapPath("foto.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}" Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open DBPATH
If Request.QueryString("mode") = "new" Then navn = Request.Form("navn") besked1 = Request.Form("besked") besked1 = Replace(besked1, "'", "''") besked1 = Replace(besked1, vbCrLf, "<br>") besked = besked1 kategori=request.querystring("rid") If navn="" Or besked="" then Response.Write "<b>Du skal udfylde alle felter!</b>" Else
På et tidspunkt har jeg været inden og rette i en javascript fil, så for en sikkerheds skyld overskrev jeg kan gamle fil og vupsi så virkede den ;o))
Du må undskyld min fumleri, men jeg er glad du vist mig, hvor mange "HTML/stavefejl" der var på mine sider, der lidt selvtilfreds når man ser logoet!!!
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.