nbj1
(15.994 point. Point ude: 225)
Ændre et javascript
hej nogen der kan fortælle mig hvorfor jeg ikke kan tilføje en funktion i et javascripts ?
<script language="javascript">
function load() {
SetActive('motd');
getError();
if (<%Value("require_agreement")%>)
document.getElementById('require_agreement').checked=true;
}
function setBold(text) {
return '<b>' + text + '</b>';
}
function setItalic(text) {
return '<i>' + text + '</i>';
}
function setLink(text) {
return '<a>' + text + '</a>';
}
function replaceSelectedText(obj,cbFunc)
{
obj.focus();
if (document.selection) {
var s = document.selection.createRange();
if (s.text) {
eval("s.text="+cbFunc+"(s.text);");
s.select();
return true;
}
} else if (typeof(obj.selectionStart)=="number") {
if (obj.selectionStart!=obj.selectionEnd) {
var start = obj.selectionStart;
var end = obj.selectionEnd;
eval("var rs = "+cbFunc+"(obj.value.substr(start,end-start));");
obj.value = obj.value.substr(0,start)+rs+obj.value.substr(end);
obj.setSelectionRange(end,end);
}
return true;
}
return false;
}
function GetUpdateList() {
var UP='';
var form = window.document.formMain;
var MP = <%Value("require_agreement")%>;
if (form.MOTD_start.value != form.MOTD.value) UP = UP + 'MOTD' + ',';
if (MP != form.require_agreement.checked) UP = UP + 'require_agreement' + ',';
form.UpdatedParams.value = UP;
}
</script>
<h1>Message of the day</h1>
<FORM name="formMain" id="formMain" method="POST" action="motd.shtml" onSubmit="GetUpdateList();">
<input type="hidden" name="CFS_HANDLER" value="config_handler">
<input type="hidden" name="CFS_HANDLER_ACTION" value="Update">
<input type="hidden" name="UpdatedParams" value="">
<textarea name="MOTD_start" style="display:none;"><%Value("MOTD",1)%></textarea>
<textarea name="MOTD" cols=50 rows=25 style="overflow:auto;"><%Value("MOTD",1)%></textarea></br>
<table class="checkbox">
<tr>
<td>
<input type=checkbox name='require_agreement' id='require_agreement' value='on'>Agreement message</br>
</td>
<td class="br"><img src="i/spc.gif" width="1" height="1" alt=""><br></td>
<td>
<a href="#" onClick="replaceSelectedText(document.formMain.MOTD,setBold);">Bold</a> :: <a href="#" onClick="replaceSelectedText(document.formMain.MOTD,setItalic);">Italic</a> :: <a href="#" onClick="replaceSelectedText(document.formMain.MOTD,setLink);">URL</a>
</td>
</tr>
</table>
<div class="br"></div>
<input type=submit class="button" name="Submit" value="Save changes">
</FORM>
<div id=infoBlock></div>
Jeg har prøvet at tilføje underline
function setUnderline(text) {
return '<u>' + text + '</u>';
}
men i formen skriver den kun <u>noget tekst</u> also tags men understreger ikke
Skrevet tor. d. 20. januar 2011 kl. 09:25:55| #1
Prøv med:
function setUnderline(text) {
return '<span style="text-decoration:underline;">' + text + '</span>';
}
Skrevet tor. d. 20. januar 2011 kl. 09:37:53| #2
nej den skriver kun tags, der understreges ikke :(
Skrevet tor. d. 20. januar 2011 kl. 09:40:42| #3
Der er en styles.css fil er det noget med det skal skrives in i den ?
Skrevet tor. d. 20. januar 2011 kl. 09:41:07| #4
Undskyld, men gør de eksisterende Bold og Italic funktioner ikke det samme? Altså indsætter synlige tags?
Skrevet tor. d. 20. januar 2011 kl. 09:41:55| #5
så er jeg ikke helt med på hva du mener - kan du evt forklare hvordan det færdige resultat vil se ud? Jeg går ud fra at du gerne viol have noget text understreget, men hvor?
Skrevet tor. d. 20. januar 2011 kl. 09:53:49| #6
ja lad mig se om jeg kan beskrive det
jeg har en form textarea (shtml)side hvor jeg nu kan markere noget tekst og lave det som bold <b>, italic <i> og set link <a>, som du kan se i koden og jo på shtml siden skriver den kun de tags der skal bruges, men i camfrog server programmet (ved ikke om du kender det) når man joiner er det første man seer er det tekst area som man har lavet i/på shmtl siden.
Skrevet tor. d. 20. januar 2011 kl. 09:57:03| #7
eksempel har tilføjet dette i samme forbindelse og det vises fint nok
<a
href="#"
onClick="replaceSelectedText(document.formMain.MOTD,setUnderline);">Underline<
/a>
Skrevet tor. d. 20. januar 2011 kl. 10:12:43| #8
jeg har noget i min styles.css som motd referere til og i textarea
body, td, th, select, input, textarea, h1, h2, h3, h4, h5, h6 {
font-size: 11px;
font-family: Tahoma, Verdana, sans-serif;
color: #393939;
}
har det ikke noget med det at gøre ?
Skrevet tor. d. 20. januar 2011 kl. 10:13:42| #9
Det du har lavet i din form, er der ikke noget i vejen med.
Men når det skal gemmes på serveren, er der nok en masse validering og filtrering, da man normalt ikke ønsker at brugere kan taste HTML i en form: Hvis der er fejl i HTML kan hele siden fejle.
Derfor skal du først undersøge om dine nye tags bliver gemt på serveren, eller om de forsvinder i ovennævnte validering.
Skrevet tor. d. 20. januar 2011 kl. 10:23:49| #10
hvis jeg tilføjer i styles.css
text-decoration:underline;
understreger den alt tekst på shtml siden men desvære ikke i programmet, så noget tyder på jeg ikke kan lave den ændring :(
Skrevet tor. d. 20. januar 2011 kl. 10:32:23| #11
Husk til næste gang at Javascript kategorien er i: Programmering>>Script>>Javascript
Java er noget helt andet :)
Skrevet tor. d. 20. januar 2011 kl. 10:40:09| #12
Jeg ved ikke hvad camfrog er og jeg nærlæser ikke læse flere hundrede liniers kode. Prøv i stedet at forklare hvad du overordnet vil opnå og igen hvad er det du vil have understreget?
Skrevet tor. d. 20. januar 2011 kl. 14:07:38| #13
Det jeg vil opnå er som kun at jeg i en form skal kunne bruge understregning af en tekst.
Skrevet tor. d. 20. januar 2011 kl. 15:39:02| #14
#13 Så simpelt kan du ikke formulere det.
Som jeg skrev i #9, er næste step at se efter om dine nye <U> tags rent faktisk bliver gemt på serveren.
Jeg gætter på, at de bliver fjernet af et script på serveren inden teksten bliver gemt.
Skrevet tor. d. 20. januar 2011 kl. 15:43:46| #15
nej når jeg åbner serveren står der hvad jeg har skrevet i shtml siden : <u>tekst</u>
dermod hvis det er Bold <b>tekst</b> står det i Bold
Skrevet tor. d. 20. januar 2011 kl. 16:36:36| #16
Det jeg mener er ikke, at du skal gå til forside på dit site, for at se teksten.
Du skal finde ud af hvor det indtastede gemmes på serveren, og så kigge på det med en SQL eller en editor (alt efter om det er database eller fil).
Skrevet tor. d. 20. januar 2011 kl. 16:53:29| #17
det jo der problemet er, jeg kan ikke se hvor det gemmes da serveren er en exe fil med nogle dll filer.
det eneste jeg kan se som jeg tror gemmer skidtet er dette:
<FORM name="formMain" id="formMain" method="POST" action="motd.shtml" onSubmit="GetUpdateList();">
<input type="hidden" name="CFS_HANDLER" value="config_handler">
<input type="hidden" name="CFS_HANDLER_ACTION" value="Update">
<input type="hidden" name="UpdatedParams" value="">
men er ikke sikker.
Skrevet tor. d. 20. januar 2011 kl. 20:04:20| #18
Den kode du har vist i #0 er incl. serverside kode, så det må være muligt at finde mere kode, som afslører hvordan det gemmes.
Led efter filen "motd.shtml", og inde i den, led efter linier med "MOTD" som tekstarealet hedder.
Skrevet tor. d. 20. januar 2011 kl. 21:35:08| #19
dette er hvad derstår i textarea
<textarea name="MOTD_start" style="display:none;"><%Value("MOTD",1)%></textarea>
<textarea name="MOTD" cols=50 rows=25 style="overflow:auto;"><%Value("MOTD",1)%></textarea></br>
jeg kan ikke se andet end det gemmes i dette textarea i motd.shtml
og på en eller anden måde overføres de med CFS_handler til programmet.
function GetUpdateList() {
var UP='';
var form = window.document.formMain;
var MP = <%Value("require_agreement")%>;
if (form.MOTD_start.value != form.MOTD.value) UP = UP + 'MOTD' + ',';
if (MP != form.require_agreement.checked) UP = UP + 'require_agreement' + ',';
form.UpdatedParams.value = UP;
}
Skrevet tor. d. 20. januar 2011 kl. 23:02:40| #20
Det tyder på at CamfrogServer's indbyggede webserver selv tager hånd om at gemme det indtastede, og dermed kan vi ikke se koden der gør det.
Eneste alternativ er at finde teksten, direkte på disken.
Så vidt jeg kan se, skal filen hedde "motd" uden nogen form for endelse. Hvis du kan finde sådan en fil på serveren, så prøv at åbne den med en teksteditor.
Skrevet fre. d. 21. januar 2011 kl. 06:26:21| #21
tjnes jeg tror du har ret i din formodning om at camfrogseren har in inbygget webserver og dermed er alt gemt i exe filen som jeg tidliger har nævn, ikk e at jeg var sikker doh, serveren er bygget up i java eller andet smart.
men er html delen ikke standart også, hvis man bruger understegning i programmet andre steder man bruger fonts ja alt som man normalt bruger, så er det vel et eller adet sted på/i min kodning af scriptet det går galdt, som jeg har vist i css filen bruges der text-decoration:underline;
eks
body, td, th, select, input, textarea, h1, h2, h3, h4, h5, h6 {
font-size: 11px;
font-family: Tahoma, Verdana, sans-serif;
color: #393939;
}
hvis jeg tilføjer text-decoration:underline;
bliver alt tekst understreget i dette textarea, så der kan understreges.
Skrevet fre. d. 21. januar 2011 kl. 06:28:33| #22
på serveren/clienten kan man bruge komandoen direkte til at tilføje tekst med /SETOPT motd MOTD text