Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/01/2010, 10:54
sergi_climent
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 11 meses
Puntos: 10
Jquery: Problema en el BeforeSend para comprobar datos

Hola, tengo el siguiente código para agregar un operario sin recargar la pagina!

Código HTML:
Ver original
  1. <div id="operaris_empresa" style="display:none;">
  2.         <form id="frmOperaris" name="frmOperaris" method="post" action="javascript: AltaEmpresaOperari();">
  3.         <input type="hidden" id="id_empresa" name="id_empresa" value="<?php echo $_GET['id'];?>"/>
  4.         <table class="taula_resultats">
  5.         <tr>
  6.             <th class="th_resultats">Nombre</th>
  7.             <th class="th_resultats">Apellido</th>
  8.             <th class="th_resultats">Precio Preventivo</th>
  9.             <th class="th_resultats">Precio Averia</th>
  10.             <th rowspan="2"><input type="image" src="../lib/img/generics/ok.png" id="submit" name="submit" value="Guardar"></th>               
  11.         </tr>
  12.         <tr>
  13.             <td class="td_resultats" align="left"><input type="text" id="newnom" name="newnom" value=""/></td>
  14.             <td class="td_resultats" align="left"><input type="text" id="newcognom" name="newcognom" value=""/></td>
  15.             <td class="td_resultats" align="left"><input type="text" id="newpreu_ac" name="newpreu_ac" value=""/></td>         
  16.             <td class="td_resultats" align="left"><input type="text" id="newpreu_av" name="newpreu_av" value=""/></td>
  17.         </tr>
  18.         </table>
  19.         </form>
  20.         <div id="list_operaris" class="list_operaris">     
  21.         <table id="empresa_operaris" class="taula_resultats">  
  22.         <thead>
  23.         <tr>
  24.             <th class="th_resultats">Nombre</th>
  25.             <th class="th_resultats">Apellido</th>
  26.             <th class="th_resultats">Precio Preventivo</th>
  27.             <th class="th_resultats">Precio Averia</th>
  28.             <th>&nbsp;</th>
  29.         </tr>
  30.         </thead>
  31.         <tbody>
  32.         <?php
  33.         if($sql_operaris) {
  34.             while( $operaris = mysql_fetch_array($sql_operaris) ){     
  35.             ?> 
  36.                 <tr id="fila-<?php echo $operaris['id_operari'] ?>">
  37.                     <td class="td_resultats" align="left" width="25%"><input type="text" id="nom" name="nom" value="<?php echo utf8_decode($operaris['nom']); ?>"/></td>
  38.                     <td class="td_resultats" align="left"><input type="text" id="cognom" name="cognom" value="<?php echo utf8_decode($operaris['cognom']); ?>"/></td>
  39.                     <td class="td_resultats" align="left"><input type="text" id="preu_ac" name="preu_ac" value="<?php echo $operaris['preu_ac']; ?>"/></td>        
  40.                     <td class="td_resultats" align="left"><input type="text" id="preu_av" name="preu_av" value="<?php echo $operaris['preu_av']; ?>"/></td>                  
  41.                     <?
  42.                         if($operaris['situacio'] == 0){?>
  43.                        
  44.                             <td class="td_resultats" align="center" width="5%" title="Dar de Baja"><img src="http://www.forosdelweb.com/f127/lib/img/generics/up.png" onClick="AltaBaixaOperari('b',<?php echo $operaris['id_operari'] ?>); return false"></td>
  45.                        
  46.                         <?php   }else{  ?>
  47.                        
  48.                             <td class="td_resultats" align="center" width="5%" title="Dar de Alta"><img src="http://www.forosdelweb.com/f127/lib/img/generics/down.png" onClick="AltaBaixaOperari('a',<?php echo $operaris['id_operari'] ?>); return false"></td>
  49.                        
  50.                         <?php   }//if($operaris['situacio'] == 0){  ?>
  51.                 </tr>
  52.              
  53.             <?php
  54.             }// -- while( $operaris = mysql_fetch_array($sql_operaris) ){  
  55.         }// -- if($sql_operaris) {
  56.         ?> 
  57.         </tbody>   
  58.         </table>
  59.         </div>
  60.     </div>
Código Javascript:
Ver original
  1. function AltaEmpresaOperari(){
  2.        
  3.  
  4.         var msg = confirm("Desea Agregar este Operario?")      
  5.        
  6.         if ( msg ) {
  7.            
  8.            
  9.             $.post("configuracions/empresa/nou_operari.php",
  10.                   {
  11.                     id_empresa: $('#id_empresa').attr('value'),
  12.                     nom: $('#newnom').attr('value'),
  13.                     cognom: $('#newcognom').attr('value'),
  14.                     preu_ac: $('#newpreu_ac').attr('value'),
  15.                     preu_av: $('#newpreu_av').attr('value'),
  16.                    
  17.                     beforeSend: function(){
  18.                         if ($('#newnom').attr('value')==""){
  19.                             alert("El Nombre del Operario es un dato Obligatorio.");
  20.                             $("#newnom").focus();
  21.                             return false;
  22.                         }                                      
  23.                     },
  24.                     success: function(datos){
  25.                     cadena = "<tr>";
  26.                     cadena = cadena + "<td><input type='text' id='nom' name='nom' value='" + $("#newnom").attr('value') + "'/><td>";
  27.                     cadena = cadena + "<td><input type='text' id='cognom' name='cognom' value='" + $("#newcognom").attr('value') + "'/><td>";
  28.                     cadena = cadena + "<td><input type='text' id='preu_ac' name='preu_ac' value='" + $("#newpreu_ac").attr('value') + "'/><td>";
  29.                     cadena = cadena + "<td><input type='text' id='preu_av' name='preu_av' value='" + $("#newpreu_av").attr('value') + "'/><td>";
  30.                     cadena = cadena + "<td class='td_resultats' align='center' width='5%' title='Alta Reciente'><img src='../lib/img/generics/up.png'></td>";
  31.                     cadena = cadena + "</tr>";
  32.                     $("#empresa_operaris tbody").after(cadena);    
  33.                     },
  34.                     complete: function(){/*Quan s'hagi completat*/}
  35.             });
  36.         }
  37.  
  38.        
  39.     }

el caso es q en el BeforeSend, me hace la comprobación pero sigue y me inserta el operario aunque lo deje a nulo

en q estoy fallando?

y una duda mas: como podria hacer un "requery" de un div? es decir, al ocultarlo y luego al volverlo a mostrar se recalcularan los datos q contiene este div? el caso lo tengo en el mismo codigo, en la linea donde hay la llamada AltaBaixaOperari, q lo q hace esta funcion es darme de baja a un operario pero no ser como hacer es que me cambie la imagen segun su situacion al momento de darlo de alta o de baja.

la funcion es la siguiente:

Código Javascript:
Ver original
  1. function AltaBaixaOperari(accio,id_operari){       
  2.  
  3.    
  4.         if(accio == 'a'){
  5.            
  6.             var msg = confirm("Desea dar de Alta este Operario?")
  7.            
  8.         }
  9.         if(accio == 'b'){
  10.            
  11.             var msg = confirm("Desea dar de Baja este Operario?")
  12.            
  13.         }
  14.        
  15.        
  16.         if ( msg ) {
  17.             $.ajax({
  18.                 url: 'configuracions/empresa/altabaixa_operari.php',
  19.                 type: "GET",
  20.                 data: "accio="+accio+"&id_operari="+id_operari,
  21.                 success: function(datos){
  22.                     alert(datos);
  23.                 }
  24.             });
  25.         }
  26.         return false;
  27.     }


Saludos y gracias
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 12/01/2010 a las 11:10