Oprettet tor. d. 20. januar 2011 kl. 09:11:58

nbj1
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

werd
werd (21.496 point)
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

nbj1
nbj1 (15.994 point)
nej den skriver kun tags, der understreges ikke :(

Skrevet tor. d. 20. januar 2011 kl. 09:40:42| #3

nbj1
nbj1 (15.994 point)
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

tjens
tjens (33.730 point)
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

werd
werd (21.496 point)
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

nbj1
nbj1 (15.994 point)
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

nbj1
nbj1 (15.994 point)
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

nbj1
nbj1 (15.994 point)
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

tjens
tjens (33.730 point)
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

nbj1
nbj1 (15.994 point)
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

werd
werd (21.496 point)
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

werd
werd (21.496 point)
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

nbj1
nbj1 (15.994 point)
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

tjens
tjens (33.730 point)
#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

nbj1
nbj1 (15.994 point)
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

tjens
tjens (33.730 point)
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

nbj1
nbj1 (15.994 point)
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

tjens
tjens (33.730 point)
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

nbj1
nbj1 (15.994 point)
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

tjens
tjens (33.730 point)
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

nbj1
nbj1 (15.994 point)
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

nbj1
nbj1 (15.994 point)
på serveren/clienten kan man bruge komandoen direkte til at tilføje tekst med /SETOPT motd MOTD text

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

How to try my form spam filter?

Oprettet den 24. maj 2012 kl. 21.07
fredand giver 30 point for svar | Giv et svar »

problemer med at oprette en objekt i en while løkke

Oprettet den 23. maj 2012 kl. 09.59
Driton giver 100 point for svar | Giv et svar »

print funktion

Oprettet den 18. maj 2012 kl. 21.41
changelevel giver 30 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger