urbande 0 Share 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 Link to comment Share on other sites More sharing options...
payskin 946 Share 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. Link to comment Share on other sites More sharing options...
urbande 0 Author Share Posted October 5, 2007 Köszönöm a választ. Link to comment Share on other sites More sharing options...
Arkangyal1528464506 0 Share 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> Link to comment Share on other sites More sharing options...
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