urbande Posted October 4, 2007 Posted October 4, 2007 (edited) Sziasztok! Csak most ismerkedem a html illetve a javascript rejtelmeivel, autodidakta módon. Már többször is elõfordult hogy egy programrészletet másoltam be, ami lefutott, de nem indult el semmi. Egyet megmutatnék. Mi lehet a hiba? Ti biztos kapásból vágjátok majd. Köszönöm. <!DOCTYPE html PUBLIC "-//w3c//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!--borders.html Példa switch utasitás használatára --> <html> <head> <title> A switch statement </title> </head> <body> <script type = "text/javascript"> <!-- var bordersize; bordersize = prompt("Select a table border size \n" + "0 (no border) \n" + "1 (1 pixel border) \n" "4 (4 pixel border) \n" + "8 (8 pixel border) \n"); switch (bordersize) { case "0": document.write("<table>"); break; case "1": document.write("<table border ='1'>"); break; case "1": document.write("<table border ='4'>"); break; case "1": document.write("<table border ='8'>"); break; default: document.write("Error - invalid choice: ", bordersize, "<br />"); } document.write("<caption> 2001 NFL Divisional Winners </caption>"); document.write("<tr>, "<th />", "<th> American Conference </th>", "<th> National Conference </th>", "</tr>", "<tr>", "<th> East </th>", "<td> New England </td>", "<td> Philadelphia Eagles </td>", "</tr>", "<tr>", "<th> Central </th>", "<td> Pittsburg Steelers </td>", "<td> Chicago Bears </td>", "</tr>", "<tr>", "<th> West </th>", "<td> Oakland Raiders</td>", "<td> St.Luis Cardinals </td>", "</tr>", "</table>"); //--> </script> </body> </html> Edited October 5, 2007 by Spányik Balázs
payskin Posted October 5, 2007 Posted October 5, 2007 Kedves urbande! Hadd kezdjem azzal, hogy ilyet, mint amit ez a kód csinál, nemcsak megtanulni nem szabad, de még az oldalt, ahol találtad, azt is felejtsd el egy életre! Ez egy nagyon rossz példa a case - switch szerkezet ábrázolására (már csak azért is, mert nem működik), de ilyet, hogy JavaScriptből kiprinteljük az oldalt, egyszerűen nem csinálunk. Nem illik. Ne tanulj meg ilyen butaságot. 2007-et írunk, manapság nem mossuk össze a HTML-t a JavaScripttel, hanem értelmes HTML kódot írunk, CSS-ből formázunk, és JavaScripttel kívülről címezzük a HTML-nek azon részét, amelyet dinamikussá szeretnék tenni (esetünkben ez ugye egy táblázat keretének vastagsága volna.) Ha csak arra kellett, hogy megértsd a switch - case szerkezet működését, akkor rendben. A programban egyébként két szintaktikai hiba van: 1. A "1 (1 pixel border) \n" után hiányzik a + jel. 2. A document.write(", sorban pedig a vessző elé kell egy lezáró idézőjel. Ha ezeket kijavítod, látni fogod, hogy a program nem működik, mert alapvetően rossz: pont az van benne elszúrva, amelynek illusztrálására íródott. Ennek a "hibának" a kijavítását azonban rád bízom, mert ebből lehet tanulni.
Arkangyal1528464506 Posted February 13, 2008 Posted February 13, 2008 Mûködhet ez... sok javítással... csak tényleg elég béna példa, bár nem annyira gáz. <!DOCTYPE html PUBLIC "-//w3c//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!--borders.html Példa switch utasitás használatára --> <html> <head> <script> var bordersize; // ugyan tökre nincs értelme \n-t használni, mert nem alert és így valószínûleg úgy sem látsz mindent, de ha már így akarták... bordersize = prompt("Select a table border size \n" + "0 (no border) \n" + "1 (1 pixel border) \n " + "4 (4 pixel border) \n " + " 8 (8 pixel border) \n "); switch (bordersize) { case "0": document.write("<table>"); break; case "1": document.write("<table border ='1'>"); break; case "4": document.write("<table border ='4'>"); break; case "8": document.write("<table border ='8'>"); break; default: document.write("Ilyen számra nem készültem... <table>", bordersize, "<br />"); } </script> </head> <html> <head> <title> A switch statement </title> </head> <body> <script> var dw=document.write; dw("<caption> 2001 NFL Divisional Winners </caption>"); dw("<tr>"); dw("<th />"); dw("<th> American Conference </th>"); dw("<th> National Conference </th>"); dw("</tr>"); dw("<tr>"); dw("<th> East </th>"); dw("<td> New England </td>"); dw("<td> Philadelphia Eagles </td>"); dw("</tr>"); dw("<tr>"); dw("<th> Central </th>"); dw("<td> Pittsburg Steelers </td>"); dw("<td> Chicago Bears </td>"); dw("</tr>"); dw("<tr>"); dw("<th> West </th>"); dw("<td> Oakland Raiders</td>"); dw("<td> St.Luis Cardinals </td>"); dw("</tr>"); dw("</table>"); </script> </body> </html>
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now