Slettet bruger
18. juli 2005 - 01:58
Der er
5 kommentarer og 1 løsning
Ændring af skrifttype med Java
Hejsa Jeg har her nedenfor en del af en mailformular: <select size="1" name="font" style="font-family: Verdana; font-size: 10pt; border: 1px ridge #FF0000" tabindex="6"> <option value="Arial"<%if Request.Form("font") = "Arial" then%> SELECTED<%end if%>>Arial</option> <option value="Fixedsys"<%if Request.Form("font") = "Fixedsys" then%> SELECTED<%end if%>>Fixedsys</option> <option value="Courier"<%if Request.Form("font") = "Courier" then%> SELECTED<%end if%>>Courier</option> <option value="Courier New"<%if Request.Form("font") = "Courier New" then%> SELECTED<%end if%>>Courier New</option> <option value="Century"<%if Request.Form("font") = "Century" then%> SELECTED<%end if%>>Century</option> <option value="Times New Roman"<%if Request.Form("font") = "Times New Roman" then%> SELECTED<%end if%>>Times New Roman</option> <option value="Verdana"<%if Request.Form("font") = "Verdana" then%> SELECTED<%end if%>>Verdana</option> <option value="ms sans-serif"<%if Request.Form("font") = "ms sans-serif" then%> SELECTED<%end if%>>MS Sans-Serif</option> <option value="Impact"<%if Request.Form("font") = "Impact" then%> SELECTED<%end if%>>Impact</option> <option value="Helvetica"<%if Request.Form("font") = "Helvetica" then%> SELECTED<%end if%>>Helvetica</option> <option value="Haettenschweiler"<%if Request.Form("font") = "Heattenschweiler" then%> SELECTED<%end if%>>Haettenschweiler</option> <option value="Comic"<%if Request.Form("font") = "Comic" then%> SELECTED<%end if%>>Comic</option> <option value="comic sans ms"<%if Request.Form("font") = "comic sans ms" then%> SELECTED<%end if%>>Comic Sans MS</option> </select> <textarea rows="30" name="cont" cols="100" style="font-family: Verdana; font-size: 10pt; border: 1px ridge #FF0000; background-image:url('members/MailPics/wall/fleck.gif')" tabindex="9"><%="" & Request.Form("cont") & ""%></textarea> - Som du kan se er der foroven et rullepanel hvor man skal angive skrifttype i. Forneden er der et textarea, som man skal skrive selve mailen i! Kan man ikke i Java lave det sådan at når man skifter skrifttype i rullepanelet at der så også bliver skiftet skrifttype i "stylen" i textareaet? Sådan at brugeren kan se hvordan det ser ud med den valgte skrifttype inden mailen bliver afsendt? Med venlig hilsen Dan
Annonceindlæg fra XFlow
Smid en onchange på din select. Sådan: <select size="1" name="font" onchange="document.getElementById('cont').style.fontFamily=this[this.selectedIndex].value;" style="font-family: Verdana; font-size: 10pt; border: 1px ridge #FF0000" tabindex="6"> også skal der lige et ID på textareaet så vi kan fange den med getElementById: <textarea rows="30" id="cont" name="cont" cols="100" style="font-family: Verdana; font-size: 10pt; border: 1px ridge #FF0000; background-image:url('members/MailPics/wall/fleck.gif')" tabindex="9"><%="" & Request.Form("cont") & ""%></textarea>
Du vil nok fortrække at smide et width og height style på textareaet, så den ikke ændre størrelse når man ændre skrifttypen.
Slettet bruger
18. juli 2005 - 08:40
#3
Jeg siger mange tak for dette script. Men hvordan skal det så se ud hvis det ikke er skrifttypen, men skriftstørrelsen rullepanelet skal definere? Jeg har nedenstående rullepanel: <select size="1" name="size" style="font-family: Verdana; font-size: 10pt; border: 1px ridge #FF0000" tabindex="7"> <option value="1"<%if Request.Form("size") = "1" then%> SELECTED<%end if%>>8</option> <option value="2"<%if Request.Form("size") = "2" then%> SELECTED<%end if%>>10</option> <option value="3"<%if Request.Form("size") = "3" then%> SELECTED<%elseif Request.Form("size") = "" then%> SELECTED<%end if%>>12</option> <option value="4"<%if Request.Form("size") = "4" then%> SELECTED<%end if%>>14</option> <option value="5"<%if Request.Form("size") = "5" then%> SELECTED<%end if%>>18</option> <option value="6"<%if Request.Form("size") = "6" then%> SELECTED<%end if%>>24</option> <option value="7"<%if Request.Form("size") = "7" then%> SELECTED<%end if%>>36</option> </select> Der har jeg indsat samme java-script som den til skrifttyperullepanelet, hvor jeg bare har ændret "fontFamily" til "fontSize"... Men så bliver skriftstørrelsen meget lille, meget mindre end den skal være... Hvordan laver jeg dette om?
Du kan lave det om så valuen svare til px værdien: <select size="1" name="size" onchange="document.getElementById('cont').style.fontSize=this[this.selectedIndex].value+'px';" style="font-family: Verdana; font-size: 10pt; border: 1px ridge #FF0000" tabindex="7"> <option value="8">8</option> <option value="10">10</option> <option value="12" selected>12</option> <option value="14">14</option> <option value="18">18</option> <option value="24">24</option> <option value="36">36</option> </select> Det betyder nok at du skal have ændret på koden i din send funktion, da du ikke overfører 1-7 værdien men 8-36. Du kan også smide et ID på dine options, også indsætte det i stylet istedet. Du skal nemlig bruge xx-small til xx-large hvis du skal bruge 1-7 værdierne. Du skal så bare huske at der ikke er andre elementer der må have samme ID: <select size="1" name="size" onchange="document.getElementById('cont').style.fontSize=this[this.selectedIndex].id;" style="font-family: Verdana; font-size: 10pt; border: 1px ridge #FF0000" tabindex="7"> <option id="xx-small" value="1">8</option> <option id="x-small" value="2">10</option> <option id="small" value="3" selected>12</option> <option id="medium" value="4">14</option> <option id="large" value="5">18</option> <option id="x-large" value="6">24</option> <option id="xx-large" value="7">36</option> </select>
Slettet bruger
19. juli 2005 - 16:04
#5
... Kan man gøre det med radioknapper også? Og i så fald hvordan? Jeg har lavet det nedenstående som jeg ikke kan få til at virke... <table border="0" style="border-collapse: collapse" cellpadding="0" id="table3"> <tr> <td width="100"> <p align="center"> <input type="radio" value="left" name="align" style="border: 3px dashed #FFFFFF; background-color: #C0C0C0" onclick="document.getElementById('cont').style.textAlign=this[this.selectedIndex].value;" checked> </p> </td> <td width="100"> <p align="center"> <input type="radio" value="center" name="align" style="border: 3px dashed #FFFFFF; background-color: #C0C0C0" onclick="document.getElementById('cont').style.textAlign=this[this.selectedIndex].value;"> </p> </td> <td width="100"> <p align="center"> <input type="radio" value="right" name="align" style="border: 3px dashed #FFFFFF; background-color: #C0C0C0" onclick="document.getElementById('cont').style.textAlign=this[this.selectedIndex].value;"> </p> </td> </tr> <tr> <td width="100"> <p align="center"><font face="Fixedsys" color="#ffffff"> VENSTRE </font></p> </td> <td width="100"> <p align="center"><font face="Fixedsys" color="#ffffff"> CENTRERET </font></p> </td> <td width="100"> <p align="center"><font face="Fixedsys" color="#ffffff"> HØJRE </font></p> </td> </tr> </table> \Dan
Du var ellers tæt på. Du skal bare ændre: document.getElementById('cont').style.textAlign=this[this.selectedIndex].value; til: document.getElementById('cont').style.textAlign=this.value;
Vi tilbyder markedets bedste kurser inden for webudvikling