Ver Mensaje Individual
  #9 (permalink)  
Antiguo 13/01/2013, 03:48
carlosuc99
 
Fecha de Ingreso: junio-2011
Mensajes: 342
Antigüedad: 13 años, 5 meses
Puntos: 5
Exclamación Respuesta: Por qué no funciona esto?

Cita:
Iniciado por emprear Ver Mensaje
Es sencillo, si ponés esto

Código Javascript:
Ver original
  1. <script>
  2.     $(function() {
  3.         $("#insertaircraft")
  4.             .button()
  5.             .click(function(event) {
  6.         });
  7.     });
  8. </script>

la consola muestra

Error: TypeError: $("#insertaircraft").button is not a function
ni siquiera hace falta que presiones el botón, y ya el resto no funciona

Saludos
El error no es ese. Lo he probado y no funciona. De hecho te di un código fuente que no era. En el mismo archivo tengo un botón "insertaircraft" que al clickar (no utilizo AJAX) se muestra y contiene un script similar al que da el error, pero aquí funciona. De hecho el códogo fuente al ser un request AJAX en este archivo no se ve. La única manera de verlo sería poniendo el archivo directamente en el navegador y poner el código fuente pero es una tontería porque ahí realmente funciona.

Como digo el 1er problema debe de estar en la obtención de select ya que en el archivo accediendo directamente he comprabado que el resultado se coge correctamente. Pero en el index.php donde se hace el request por AJAX no. Es muy extraño porque realmente es el mismo archivo solo que en un sitio en vez de estar presente lo llaman.

De todas maneras y es algo muy curioso mira el código fuente del archivo accediendo directamente:

Código HTML:
Ver original
  1. <script src="./jquery.js"></script>
  2.     <script src="./ui/jquery.ui.widget.js"></script>
  3.     <script src="./ui/jquery.ui.button.js"></script>
  4.     <script src="./ui/jquery.ui.core.js"></script>
  5.     <script src="./ui/jquery.ui.widget.js"></script>
  6.     <script src="./ui/jquery.ui.mouse.js"></script>
  7.     <script src="./ui/jquery.ui.button.js"></script>
  8.     <script src="./ui/jquery.ui.draggable.js"></script>
  9.     <script src="./ui/jquery.ui.position.js"></script>
  10.     <script src="./ui/jquery.ui.resizable.js"></script>
  11.     <script src="./ui/jquery.ui.dialog.js"></script>
  12.     <script src="./ui/jquery.ui.effect.js"></script>
  13.  
  14.    
  15. <form method="post" action="editar-ruta.php">
  16. <table border="0"></table>
  17. </form>

Parece que le faltan cosas que realmente están.
Te dejo el código del archivo que dá el problema edit.php

Código PHP:
Ver original
  1. <script src="./jquery.js"></script>
  2.     <script src="./ui/jquery.ui.widget.js"></script>
  3.     <script src="./ui/jquery.ui.button.js"></script>
  4.     <script src="./ui/jquery.ui.core.js"></script>
  5.     <script src="./ui/jquery.ui.widget.js"></script>
  6.     <script src="./ui/jquery.ui.mouse.js"></script>
  7.     <script src="./ui/jquery.ui.button.js"></script>
  8.     <script src="./ui/jquery.ui.draggable.js"></script>
  9.     <script src="./ui/jquery.ui.position.js"></script>
  10.     <script src="./ui/jquery.ui.resizable.js"></script>
  11.     <script src="./ui/jquery.ui.dialog.js"></script>
  12.     <script src="./ui/jquery.ui.effect.js"></script>
  13.  
  14.    
  15. <?php
  16. require_once ('config.php');
  17. $icao = $_REQUEST["icao"];
  18.  
  19. $query = "SELECT * FROM aircrafts WHERE ICAO = '$icao'";
  20.  
  21. $result = mysql_query($query);
  22. if (!$result)
  23. {
  24. }
  25.  
  26. ?>
  27. <form method="post" action="editar-ruta.php">
  28. <?php
  29. echo '<table border="0">';
  30. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){
  31.  
  32. echo '<tr><td class="forms">ICAO:</td><td><input type="text" name="icao" size="30" value=';
  33. echo $row["ICAO"] . "></td></tr>";
  34.  
  35. echo '<tr><td class="forms">Name:</td><td><input type="text" name="name" size="30" value=';
  36. echo $row["Name"] . "></td></tr>";
  37.  
  38. echo '<tr><td class="forms">Weight Empty:</td><td><input type="text" name="weightempty" size="30" value=';
  39. echo $row["WeightEmpty"] . "></td></tr>";
  40.  
  41. echo '<tr><td class="forms">Weight Full:</td><td><input type="text" name="weightfull" size="30" value=';
  42. echo $row["WeightFull"] . "></td></tr>";
  43.  
  44. echo '<tr><td class="forms">Cargo Full:</td><td><input type="text" name="cargofull" size="30" value=';
  45. echo $row["CargoFull"] . "></td></tr>";
  46.  
  47. echo '<tr><td class="forms">Cruise Speed:</td><td><input type="text" name="cruisespeed" size="30" value=';
  48. echo $row["CruiseSpeed"] . "></td></tr>";
  49.  
  50. echo '<tr><td class="forms">Range:</td><td><input type="text" name="range" size="30" value=';
  51. echo $row["Range"] . "></td></tr>";
  52.  
  53. echo '<tr><td class="forms">Price:</td><td><input type="text" name="price" size="30" value=';
  54. echo $row["Price"] . "></td></tr>";
  55.  
  56. echo '<tr><td class="forms">Number Classes:</td><td><select id="numberclasses" name="numberclasses">';
  57.         echo "<option value='0'>Select Number of Classes</option>";
  58.         echo "<option value='1'>One Classes (Economy)</option>";
  59.         echo "<option value='2'>Two Classes (Business & Economy)</option>";
  60.         echo "<option value='3'>Three Classes (First, Business & Economy)</option>";
  61. echo '</select></td></tr>';
  62.  
  63. if($row["FirstClassSeats"] == NULL || $row["FirstClassSeats"] == 0){$disabled1 = "disabled='disabled'";}
  64.  
  65. echo '<tr><td class="forms">First Class Seats:</td><td><input '.$disabled1.' type="text" id="firstclassseats" name="firstclassseats" size="30" value=';
  66. echo $row["FirstClassSeats"] . "></td></tr>";
  67.  
  68. if($row["BusinessClassSeats"] == NULL || $row["BusinessClassSeats"] == 0){$disabled2 = "disabled='disabled'";}
  69.  
  70. echo '<tr><td class="forms">Business Class Seats:</td><td><input '.$disabled2.' type="text" id="businessclassseats" name="businessclassseats" size="30" value=';
  71. echo $row["BusinessClassSeats"] . "></td></tr>";
  72.  
  73. if($row["EconomyClassSeats"] == NULL || $row["EconomyClassSeats"] == 0){$disabled3 = "disabled='disabled'";}
  74.  
  75. echo '<tr><td class="forms">Economy Class Seats:</td><td><input '.$disabled3.' type="text" id="economyclassseats" name="economyclassseats" size="30" value=';
  76. echo $row["EconomyClassSeats"] . "></td></tr>";
  77.  
  78. ?>
  79.  
  80. <script type="text/javascript">
  81. $(document).ready(function() {
  82. $("#editaircraft").click(function(event) {
  83. event.preventDefault(); // si envías con ajax desde un botón submit
  84. alert('enviar x ajax');
  85. });
  86.    
  87. $("#numberclasses").change(function() {
  88. value = $(this).val();
  89. str = parseInt(value);
  90. switch(str){
  91.     case 0:
  92.         $("#firstclassseats").attr("disabled","disabled");
  93.         $("#businessclassseats").attr("disabled","disabled");
  94.         $("#economyclassseats").attr("disabled","disabled");
  95.     break;
  96.  
  97.     case 1:
  98.         $("#economyclassseats").removeAttr('disabled');
  99.         $("#firstclassseats").attr("disabled","disabled");
  100.         $("#businessclassseats").attr("disabled","disabled");
  101.     break;
  102.  
  103.      case 2:
  104.         $("#businessclassseats").removeAttr('disabled');
  105.         $("#economyclassseats").removeAttr('disabled');
  106.         $("#firstclassseats").attr("disabled","disabled");
  107.     break;
  108.  
  109.     case 3:
  110.         $("#firstclassseats").removeAttr('disabled');
  111.         $("#businessclassseats").removeAttr('disabled');
  112.         $("#economyclassseats").removeAttr('disabled');
  113.     break;
  114.  
  115.   }
  116.  });
  117.  });
  118. </script>
  119. <?php
  120.  
  121. echo "<tr><td><input id='editaircraft' type='submit' value='Edit Aircraft'></td></tr>";
  122.  
  123. }
  124. echo "</table>";
  125. ?>
  126.  
  127. </form>

Al archivo lo llamo así con AJAX.

Código Javascript:
Ver original
  1. function edit(str){
  2.         $("#loadingdialog").dialog('open');
  3.        
  4.         var conection;
  5.         if (window.XMLHttpRequest)
  6.             {
  7.             conection=new XMLHttpRequest();
  8.             }
  9.         else
  10.             {
  11.             conection=new ActiveXObject("Microsoft.XMLHTTP");
  12.             }
  13.         conection.onreadystatechange=function()
  14.             {
  15.             if (conection.readyState==4 && conection.status==200)
  16.             {
  17.             document.getElementById("editaircraftdialog").innerHTML=conection.responseText;
  18.                 $("#editaircraftdialog").dialog('open');
  19.                
  20.                 $("#loadingdialog").dialog('close');
  21.         }
  22.         }
  23.     conection.open("GET","./edit_aircraft.php?icao="+str,true);
  24.     conection.send();
  25.     }

Última edición por carlosuc99; 13/01/2013 a las 03:55