未编辑的referenceerror mostrar未在HTMLInputElement.onchange中定义

时间:2016-12-21 09:52:07

标签: javascript html

我有这个HTML,正如你所看到的,它有两个调用javascript函数,它在本地完美运行但是当我把它放在服务器上时我得到了图片上的错误。 这是我第一次把任何东西放在服务器上而且我真的很困惑,所以我会非常感谢你的帮助。

<html>
    <head>
        <title>Creación de cajas</title>
        <script    
            type="text/javascript" src="codJavaScript.js">
        </script>
        <link href="../estilo.css" rel="stylesheet" type="text/css">
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
         <div class="menu"> 
            <ul>
                <li><a href="menu.php">Inicio</a></li>
            </ul> 
        </div>
         <form action="../Controladores/recogeDatos.php" method="post">
             <table>
                 <tr>
                     <td>
                         <p>Codigo: </p>
                     </td>
                     <td>
                         <input type="text" name="codigo">
                     </td>
                     <td>
                         <p>Anchura: </p>
                     </td>
                     <td>
                         <input type="text" name="anchura">
                     </td>
                 </tr>
                 <tr>
                     <td>
                         <p>Altura: </p>
                     </td>
                     <td>
                         <input type="text" name="altura">
                     </td>
                     <td>
                         <p>Profundidad: </p>
                     </td>
                     <td>
                         <input type="text" name="profundidad">
                     </td>
                 </tr>
                 <tr>
                     <td>
                         <p>Color: </p>
                     </td>
                     <td>
                         <input type="color" name="color">
                     </td>
                     <td>
                         <p>Tipo caja: </p>
                     </td>
                     <td>
                         <input type="text" name="tipoC" list="tipos" onchange="mostrar(this.value)">
                         <datalist id="tipos">
                            <option>Negra</option>
                            <option>Fuerte</option>
                            <option>Sorpresa</option>
                         </datalist>
                     </td>
                 </tr>
                 <tr id="mec">
                    <td>
                        <p>Mecanismo: </p>
                    </td>
                    <td>
                        <input type="text" name="mecanismo">
                    </td>
                 </tr>
                 <tr id="pb">
                     <td>
                        <p>Placa base: </p>
                     </td>
                     <td>
                        <input type="text" name="placa">
                     </td>
                 </tr>
                 <tr id="cont">
                     <td>
                        <p>Contenido:</p>
                     </td>
                     <td>
                        <input type="text" name="contenido">
                     </td>
                </tr>
                <tr>
                    <td>
                        <p>Estanter&iacute;a:</p>
                    </td>
                    <td>
                        <select name="codEstant" onchange="muestraLejas(this.value)">
                        <option value="null" selected="selected">Elige Estanter&iacute;a</option>
                                                        <option value=C8>C8</option>
                                                        </select>
                    </td>
                    <td>
                         <p>Leja: </p>
                    </td>
                    <td>
                        <select id="leja" name="leja">
                            <option value="null" selected="selected">Elige Leja</option>
                        </select>
                    </td>
                </tr>
                <tr>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td>
                        <input type="submit" name="creaCaja">
                    </td>
                </tr>

             </table>
        </form>
    </body>

enter image description here

这是JavaScript:

function muestraLejas(str){
    var xmlhttp;   
if (str=="")  {
    document.getElementById("leja").innerHTML="";
    return;
  }
  if (window.XMLHttpRequest)  {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
    /* Creamos el objeto request para conexiones http,
    compatible con los navegadores descritos*/
  }
  else  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    /*Como el explorer va por su cuenta, el objeto es un ActiveX */
  }
  xmlhttp.onreadystatechange=function()  {

      if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    document.getElementById("leja").innerHTML=xmlhttp.responseText;
   /*Seleccionamos el elemento que recibirá el flujo de datos*/
    }
  }
//      alert(str);
    xmlhttp.open("GET","../DAO/getLejas.php?codEstant="+str,true);
    /*Mandamos al PHP encargado de traer los datos, el valor de referencia */
//        alert(str);
    xmlhttp.send();
  }

  function mostrar(str){
      if(str==="Negra"){
          var vis=document.getElementById("pb").style.display='inline';
          var vis=document.getElementById("mec").style.display='none';
          var vis=document.getElementById("cont").style.display='none';
      }
      else if(str==="Fuerte"){
          var vis=document.getElementById("mec").style.display='inline';
          var vis=document.getElementById("pb").style.display='none';
          var vis=document.getElementById("cont").style.display='none';
      }
      else if(str==="Sorpresa"){
          var vis=document.getElementById("cont").style.display='inline';
          var vis=document.getElementById("mec").style.display='none';
          var vis=document.getElementById("pb").style.display='none';
      }
  }

1 个答案:

答案 0 :(得分:2)

index

我检查了你的文件。你弄错了。 服务器上的codJavascript.js与HTML脚本代码中的codJavaScript.js相对应。

您应该将HTML更改为:

<script type="text/javascript" src="codJavascript.js"></script>

(小写&#39; s&#39;)