Jump to content
GSForum - Segélyvonal

Kezdõ lépések


urbande

Recommended Posts

urbande

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 by Spányik Balázs
Link to comment
Share on other sites

payskin

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

urbande

Köszönöm a választ.

Link to comment
Share on other sites

  • 4 months later...
Arkangyal1528464506

Mûködhet ez... sok javítással... csak tényleg elég :hááát: 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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...