脚本不能在简单的html文件中工作

时间:2013-10-15 16:33:15

标签: javascript html

我创建了这个简单的html文件来构建基本的产品配置器(受http://product-configuration.hekkiez.nl/a-simple-product-configurator-for-the-web/启发)。 选择你想要的范围风格,然后选择颜色&完成,然后根据范围的类型,相应地填充以下选项。或者至少他们曾经...... 我有这个工作了2天,现在我不能让它比选择范围/颜色/完成更进一步,好像JS代码不工作或没有“加载”。 我在搜索时尝试了很多东西。将JS代码移动到头部,在div中,检查缺少的字符等,没有运气。 如果有人能发现明显的错误,我会非常感激!

<!DOCTYPE html>
            <html>  
            <head> </head>
            <body >
            <h3>Configure your Range</h3>
            <form name="Test_Configurator">
            <table>
                <p>
                Your range: <select name="Range" onchange="setOvens(this.value); setTop(this.value); setLeft(this.value); setRight(this.value); setOption_L2(this.value); setOption_L1(this.value); setOption_R1(this.value); setOption_R2(this.value);" >
                    <option value=" " selected="selected">Select your range</option>
                    <option value="1">Cormatin</option>
                    <option value="2">Rully</option>
                    <option value="3">Cluny</option>    
                    <option value="4">Cluny 1400 - Right</option>   
                    <option value="20">Cluny 1400 - Left</option>
                    <option value="5">Cluny 1800</option>   
                    <option value="6">Chagny</option>   
                    <option value="7">Chagny 1400 - Right</option>  
                    <option value="21">Chagny 1400 - Left</option>  
                    <option value="8">Chagny 1800</option>  
                    <option value="9">Volnay</option>   
                    <option value="10">Vougeot</option> 
                    <option value="11">Chassagne</option>   
                    <option value="12">Chambertin</option>  
                    <option value="13">Saulieu</option> 
                    <option value="14">Savigny</option> 
                    <option value="15">Sully</option>   
                    <option value="16">Fontenay</option>    
                    <option value="17">Citeaux</option> 
                    <option value="18">Sully 1800 - Right</option>  
                    <option value="22">Sully 1800 - Left</option>   
                    <option value="19">Sully 2200</option>  

                </select>
                </p>

                <p>
                    Color: <select name="Range_color" ;">
                            <option value=" " selected="selected"></option>
                            <option value="1">Anthracite</option>
                            <option value="2">Armor</option>
                            <option value="3">Stainless Steel</option>  
                            <option value="4">White</option>    
                            <option value="5">French Blue</option>  
                            <option value="6">Portuguese Blue</option>  
                            <option value="7">Delft Blue</option>   
                            <option value="8">Coral Blue</option>   
                            <option value="9">Earthenware Grey</option> 
                            <option value="10">Ivory</option>   
                            <option value="11">Quartz Pink</option> 
                            <option value="12">Provence Yellow</option> 
                            <option value="13">Black</option>   
                            <option value="14">Chocolate</option>   
                            <option value="15">Marron Glace</option>    
                            <option value="16">Frangipane</option>  
                            <option value="17">Burgundy Red</option>    
                            <option value="18">Cherry Red</option>  
                            <option value="19">Terracotta</option>  
                            <option value="20">Tangerine</option>   
                            <option value="21">Dark Green</option>  
                            <option value="22">Olive Green</option> 
                            <option value="23">Sologne Green</option>   
                            <option value="24">Limetree Green</option>  

                        </select>
                </p>
                <p>
                    Finishes: <select name="Finishes" ;">
                        <option value=" " selected="selected"></option>
                        <option value="1">Brass</option>
                        <option value="2">Nickel</option>
                        <option value="3">Chrome</option>   
                        <option value="4">Brushed Stainless</option>    
                        <option value="5">Matt Chrome</option>  
                    </select>
                </p>
                <p>
                    Ovens: <select name="Ovens" ;">
                        <option value=" " selected="selected"></option>
                    </select>
                </p>
                <p>(Optional) Select the option for each side cupboard - 
                    Left: <select name="Left" ;">
                        <option value=" " selected="selected"></option>
                    </select>
                </p>
                <p>(Optional) Select the option for each side cupboard -
                    Right: <select name="Right" ;">
                        <option value=" " selected="selected"></option>
                    </select>
                </p>
                <p>
                    Top: <select name="Top" ;" >
                        <option value=" " selected="selected"></option>
                    </select>
                </p>
                <p>Select the first option on the left side of your range:      
                    Option_L2: <select name="Option_L2" ;" >
                        <option value=" " selected="selected"></option>
                    </select>
                </p>
                <p>Select the second option on the left side of your range:
                    Option_L1: <select name="Option_L1" ;">
                        <option value=" " selected="selected"></option>
                    </select>
                </p>
                <p>Select the first option on the right side of your range: 
                    Option_R1: <select name="Option_R1" ;" >
                        <option value=" " selected="selected"></option>
                    </select>
                </p>
                <p>Select the second option on the right side of your range:
                    Option_R2: <select name="Option_R2" ;" >
                        <option value=" " selected="selected"></option>
                    </select>
                </p>

            </form>
            </body>
            </html>

            <script type="text/javascript">

            function setOvens(Range) {

                var dropbox = document.Test_Configurator.Ovens;
                    dropbox.options.length = 0;     
                    dropbox.options[dropbox.options.length] = new Option(' ','0');

                if (Range == "1" || Range =="2" || Range =="9" || Range =="10" || Range =="11" || Range =="12" || Range =="13" || Range =="14" || Range =="16" || Range =="17")  {
                    dropbox.options[dropbox.options.length] = new Option('Gas Oven','1');
                    dropbox.options[dropbox.options.length] = new Option('Convection Electric Oven','2');
                }

                if (Range == "3" || Range == "4" || Range == "5" || Range == "20")  {
                    dropbox.options[dropbox.options.length] = new Option('2 Gas Ovens','3');
                    dropbox.options[dropbox.options.length] = new Option('1 Gas & 1 Electric Ovens','4');
                    dropbox.options[dropbox.options.length] = new Option('1 Gas & 1 Convection Electric Ovens','5');
                }


                if (Range == "6" || Range =="7" || Range =="8" || Range =="21" )  {
                    dropbox.options[dropbox.options.length] = new Option('1 Grill Oven, 1 Gas & 1 Electric Ovens','6');
                    dropbox.options[dropbox.options.length] = new Option('1 Grill Oven, 1 Gas & 1 Convection Electric Ovens','7');
                    dropbox.options[dropbox.options.length] = new Option('1 Grill Oven, 1 Electric & 1 Convection Electric Ovens','8');
                    dropbox.options[dropbox.options.length] = new Option('1 Grill Oven, 2 Electric Ovens','9');
                }


                if (Range == "15" || Range =="18" || Range =="19" || Range =="22" )  {
                    dropbox.options[dropbox.options.length] = new Option('2 Gas Ovens','10');
                    dropbox.options[dropbox.options.length] = new Option('1 Gas & 1 Convection Electric Ovens','11');
                    dropbox.options[dropbox.options.length] = new Option('2 Convection Electric Ovens','21');
                }


            }

            function setLeft(Range) {

                var dropbox = document.Test_Configurator.Left;
                    dropbox.options.length = 0;     
                    dropbox.options[dropbox.options.length] = new Option(' ','0');
                if (Range == "14" || Range =="17" )  {
                    dropbox.options[dropbox.options.length] = new Option('Vertical Convection Electric Oven','1');
                }
                if (Range == "20" || Range =="5" || Range =="9" ||Range == "21" || Range =="8" || Range == "11" || Range =="16" || Range == "22" || Range =="19" )  {
                    dropbox.options[dropbox.options.length] = new Option('Storage Cupboard','2');
                    dropbox.options[dropbox.options.length] = new Option('Warming Cupboard / Simmer Oven','3');
                }
            }   

            function setRight(Range) {

                var dropbox = document.Test_Configurator.Right;
                    dropbox.options.length = 0;     
                    dropbox.options[dropbox.options.length] = new Option(' ','0');
                if (Range == "13" )  {
                    dropbox.options[dropbox.options.length] = new Option('Vertical Convection Electric Oven','4');
                }
                if (Range == "4" || Range =="5" || Range == "7" || Range =="10" || Range == "12" || Range =="16" || Range == "17" || Range =="18" || Range =="19" )  {
                    dropbox.options[dropbox.options.length] = new Option('Storage Cupboard','5');
                    dropbox.options[dropbox.options.length] = new Option('Warming Cupboard / Simmer Oven','6');
                }
            }   

            function setTop(Range) {

                var dropbox = document.Test_Configurator.Top;
                    dropbox.options.length = 0;     
                    dropbox.options[dropbox.options.length] = new Option(' ','0');
                if (Range == "1" || Range =="2")  {
                    dropbox.options[dropbox.options.length] = new Option('Classique 3 burners','1');
                    dropbox.options[dropbox.options.length] = new Option('Classique 4 burners','2');
                    dropbox.options[dropbox.options.length] = new Option('Tradition 2 burners + Simmer Plate','3');
                }
                if (Range == "3" ||Range == "6" ||Range == "9" || Range =="10" )  {
                    dropbox.options[dropbox.options.length] = new Option('Classique 5 burners','4');
                    dropbox.options[dropbox.options.length] = new Option('Tradition 4 burners + Simmer Plate','5');
                }
                if (Range == "4" ||Range == "7" )  {
                    dropbox.options[dropbox.options.length] = new Option('Classique 5 burners','10');
                    dropbox.options[dropbox.options.length] = new Option('Tradition 4 burners + Simmer Plate','11');
                }
                if (Range == "20" ||Range == "21" )  {
                    dropbox.options[dropbox.options.length] = new Option('Classique 5 burners','8');
                    dropbox.options[dropbox.options.length] = new Option('Tradition 4 burners + Simmer Plate','9');
                }
                if (Range == "5" ||Range == "8" )  {
                    dropbox.options[dropbox.options.length] = new Option('Classique 5 burners','20');
                    dropbox.options[dropbox.options.length] = new Option('Tradition 4 burners + Simmer Plate','21');
                }
                if (Range == "11" || Range =="14")  {
                    dropbox.options[dropbox.options.length] = new Option('Classique 3 burners','12');
                    dropbox.options[dropbox.options.length] = new Option('Classique 4 burners','13');
                    dropbox.options[dropbox.options.length] = new Option('Tradition 2 burners + Simmer Plate','14');
                }
                if (Range == "12" || Range =="13")  {
                    dropbox.options[dropbox.options.length] = new Option('Classique 3 burners','15');
                    dropbox.options[dropbox.options.length] = new Option('Classique 4 burners','16');
                    dropbox.options[dropbox.options.length] = new Option('Tradition 2 burners + Simmer Plate','17');
                }
                if (Range == "15" ||Range == "16" ||Range == "17" )  {
                    dropbox.options[dropbox.options.length] = new Option('Classique 3 burners','18');
                    dropbox.options[dropbox.options.length] = new Option('Tradition 2 burners + Simmer Plate','19');
                }
                if (Range == "18" )  {
                    dropbox.options[dropbox.options.length] = new Option('Classique 3 burners','24');
                    dropbox.options[dropbox.options.length] = new Option('Tradition 2 burners + Simmer Plate','25');
                }
                if (Range == "22" )  {
                    dropbox.options[dropbox.options.length] = new Option('Classique 3 burners','22');
                    dropbox.options[dropbox.options.length] = new Option('Tradition 2 burners + Simmer Plate','23');
                }
                if (Range == "19" )  {
                    dropbox.options[dropbox.options.length] = new Option('Classique 3 burners','26');
                    dropbox.options[dropbox.options.length] = new Option('Tradition 2 burners + Simmer Plate','27');
                }

            }

            function setOption_L2(Range) {

                var dropbox = document.Test_Configurator.Option_L2;
                    dropbox.options.length = 0;     
                    dropbox.options[dropbox.options.length] = new Option(' ','0');

                if (Range == "22" || Range =="19" )  {
                    dropbox.options[dropbox.options.length] = new Option('2 x 11,000 BTU Burners','1');
                    dropbox.options[dropbox.options.length] = new Option('2 x 15,000 BTU Burners','2');
                    dropbox.options[dropbox.options.length] = new Option('1 x 18,000 BTU Burner','3');
                    dropbox.options[dropbox.options.length] = new Option('Simmer Plate','4');
                    dropbox.options[dropbox.options.length] = new Option('Electric Plancha','5');
                    dropbox.options[dropbox.options.length] = new Option('Gas Grill','6');
                    dropbox.options[dropbox.options.length] = new Option('Stainless Steel Worktop','7');
                    }

            }


            function setOption_L1(Range) {

                var dropbox = document.Test_Configurator.Option_L1;
                    dropbox.options.length = 0;     
                    dropbox.options[dropbox.options.length] = new Option(' ','0');
                if (Range =="15") {
                    dropbox.options[dropbox.options.length] = new Option('2 x 11,000 BTU Burners','8');
                    dropbox.options[dropbox.options.length] = new Option('2 x 15,000 BTU Burners','9');
                    dropbox.options[dropbox.options.length] = new Option('Electric Plancha','12');
                    dropbox.options[dropbox.options.length] = new Option('Stainless Steel Worktop','14');
                }
                if (Range =="14" || Range == "17" || Range =="18" || Range =="19" || Range =="22" ) {
                    dropbox.options[dropbox.options.length] = new Option('2 x 11,000 BTU Burners','8');
                    dropbox.options[dropbox.options.length] = new Option('2 x 15,000 BTU Burners','9');
                    dropbox.options[dropbox.options.length] = new Option('1 x 18,000 BTU Burner','10');
                    dropbox.options[dropbox.options.length] = new Option('Simmer Plate','11');
                    dropbox.options[dropbox.options.length] = new Option('Electric Plancha','12');
                    dropbox.options[dropbox.options.length] = new Option('Stainless Steel Worktop','14');
                }
                if (Range == "20" || Range =="5" || Range =="21" || Range =="8" || Range == "11" || Range =="16" || ) {
                    dropbox.options[dropbox.options.length] = new Option('2 x 11,000 BTU Burners','8');
                    dropbox.options[dropbox.options.length] = new Option('2 x 15,000 BTU Burners','9');
                    dropbox.options[dropbox.options.length] = new Option('1 x 18,000 BTU Burner','10');
                    dropbox.options[dropbox.options.length] = new Option('Simmer Plate','11');
                    dropbox.options[dropbox.options.length] = new Option('Electric Plancha','12');
                    dropbox.options[dropbox.options.length] = new Option('Gas Grill','13');
                    dropbox.options[dropbox.options.length] = new Option('Stainless Steel Worktop','14');
                }

            }




            function setOption_R1(Range) {

                var dropbox = document.Test_Configurator.Option_R1;
                    dropbox.options.length = 0;     
                    dropbox.options[dropbox.options.length] = new Option(' ','0');
                if (Range =="15") {
                    dropbox.options[dropbox.options.length] = new Option('2 x 11,000 BTU Burners','8');
                    dropbox.options[dropbox.options.length] = new Option('2 x 15,000 BTU Burners','9');
                    dropbox.options[dropbox.options.length] = new Option('Electric Plancha','12');
                    dropbox.options[dropbox.options.length] = new Option('Stainless Steel Worktop','14');
                }
                if (Range =="14" || Range == "17" || Range =="18" || Range =="19" || Range =="22" ) {
                    dropbox.options[dropbox.options.length] = new Option('2 x 11,000 BTU Burners','8');
                    dropbox.options[dropbox.options.length] = new Option('2 x 15,000 BTU Burners','9');
                    dropbox.options[dropbox.options.length] = new Option('1 x 18,000 BTU Burner','10');
                    dropbox.options[dropbox.options.length] = new Option('Simmer Plate','11');
                    dropbox.options[dropbox.options.length] = new Option('Electric Plancha','12');
                    dropbox.options[dropbox.options.length] = new Option('Stainless Steel Worktop','14');
                }
                if (Range == "20" || Range =="5" || Range =="21" || Range =="8" || Range == "11" || Range =="16" || ) {
                    dropbox.options[dropbox.options.length] = new Option('2 x 11,000 BTU Burners','8');
                    dropbox.options[dropbox.options.length] = new Option('2 x 15,000 BTU Burners','9');
                    dropbox.options[dropbox.options.length] = new Option('1 x 18,000 BTU Burner','10');
                    dropbox.options[dropbox.options.length] = new Option('Simmer Plate','11');
                    dropbox.options[dropbox.options.length] = new Option('Electric Plancha','12');
                    dropbox.options[dropbox.options.length] = new Option('Gas Grill','13');
                    dropbox.options[dropbox.options.length] = new Option('Stainless Steel Worktop','14');
                }

            }

            function setOption_R2(Range) {

                var dropbox = document.Test_Configurator.Option_R2;
                    dropbox.options.length = 0;     
                    dropbox.options[dropbox.options.length] = new Option(' ','0');

                if (Range == "22" || Range =="19" )  {
                    dropbox.options[dropbox.options.length] = new Option('2 x 11,000 BTU Burners','1');
                    dropbox.options[dropbox.options.length] = new Option('2 x 15,000 BTU Burners','2');
                    dropbox.options[dropbox.options.length] = new Option('1 x 18,000 BTU Burner','3');
                    dropbox.options[dropbox.options.length] = new Option('Simmer Plate','4');
                    dropbox.options[dropbox.options.length] = new Option('Electric Plancha','5');
                    dropbox.options[dropbox.options.length] = new Option('Gas Grill','6');
                    dropbox.options[dropbox.options.length] = new Option('Stainless Steel Worktop','7');
                    }

            }



            </script>

3 个答案:

答案 0 :(得分:1)

仅在HTML标记中,我看到了很多缺少的元素(我认为),这些元素是您的程序工作所需要的。

如果你看一下你的HTML,你会发现很多这些:

<select name="Option_L2" ;" >

我想你错过了其他的onchange();

请检查这一切是否正确并且您的标记一切正常,如果在使用您的新脚本编辑问题之后仍然无法正常工作:)

Grtz。 Sidney Liebrand

答案 1 :(得分:1)

以下代码行不正确

if (Range == "20" || Range =="5" || Range =="21" || Range =="8" || Range == "11" || Range =="16" || ) {

if (Range == "20" || Range =="5" || Range =="21" || Range =="8" || Range == "11" || Range =="16" || ) {

如果您遇到这些问题,请开始使用浏览器的开发者工具。所有主流浏览器都支持调试功能。

答案 2 :(得分:0)

你的代码中有很多拼写错误

例如行:

Color: <select name="Range_color" ;">

在select标记中有额外的;"