Ver Mensaje Individual
  #7 (permalink)  
Antiguo 15/10/2009, 12:41
Avatar de atoBeto
atoBeto
 
Fecha de Ingreso: abril-2008
Ubicación: B.C.S., México
Mensajes: 35
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: Problema con calendario dentro de formulario

Cita:
Iniciado por jawir Ver Mensaje
Aqui os dejo el codigo

Código HTML:
<form action="php/registroficha.php?" method="POST" name="formulario"  >
        <div align="center"></div>
        <table width="406" height="125" border="2" align="center" bordercolor="#0000FF" bgcolor="#FFFFCC" style="border:2px solid #000000;">
		

        <tr>
            <td align="right" bgcolor="#66FF99"><span class="Estilo2">Num Ficha:</span>
            <input type="text" size="5" maxlength="5" name="cont" value="<?php echo $contador; ?>"> 
			
            </td>
     	</tr>
		
	    <tr>
		   <td align="left"><div align="left"><span class="Estilo2">Cliente :</span>
           <select name="nombre" select size="1">
			<?php 
			do {   
				?>
           		<option> <?php echo $fila['nombre'], " ", $fila['apellidos'] ?> </option>       
				<?php
			} while ($fila = mysql_fetch_array($resultado)); 
			mysql_free_result($resultado);
			?>
         </select>
          </div></td>
		
          <tr>
            <td align="left"><span class="Estilo2">Fecha Entrada(AAAA/MM/DD):</span>
			<input size="20" id="f_date1" name="fecha_ent" /><button id="f_btn1">...</button><br />

            </td>
          </tr>
		     <tr>
            <td align="left"><span class="Estilo2">Fecha Salida(AAAA/MM/DD):</span>
			<input size="20" id="f_date2" name="fecha_sal" /><button id="f_btn2">...</button><br />
            </td>
          </tr>
		 
		 <?php
	  	 $res = mysql_query("SELECT * FROM TParcela WHERE libre='si' ORDER BY `id_parc` ASC");
		 $fila2 = mysql_fetch_array($res);
		 ?>
		  <tr>
		   <td align="left"><span class="Estilo2">Parcela :</span>
           <select name="parcela" select size="1">
			<?php 
			do {   
				?>
           		<option> <?php echo $fila2['id_parc'] ?> </option>       
				<?php
			} while ($fila2 = mysql_fetch_array($res)); 
			mysql_free_result($res);
			?>
         </select>
		 
		  <span class="Estilo2">Parcela extra:</span>
              <select size="1" name="parc_extra">
                <option selected value="no">No</option>
                <option value="si">Si</option>
          
            </select></td>
		
		 	 
          </tr>
    
           <tr>
            <td align="left"><span class="Estilo2">Matricula:</span>
            <input type="text" size="15" maxlength="15"name="matricula" />
            </td>
          </tr>
          <tr>
            <th align="left" bgcolor="#66FF99"><span class="Estilo2">Servicios</span> </th>
		  </tr>
		  <tr>		  
          <td align="left"><span class="Estilo2">Adultos:</span>
              <select size="1" name="adulto">
                <option selected value="0">0</option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
				<option value="4">4</option>
                <option value="5">5</option>
            </select>
			
			   <span class="Estilo2">Niños:</span>
              <select size="1" name="junior">
                <option selected value="0">0</option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
				<option value="4">4</option>
                <option value="5">5</option>
            </select></td>
		
        </tr>
		    
		<tr>		  
        <td align="left"><span class="Estilo2">Luz:</span>
          	<select size="1" name="luz">
                <option selected value="no">No</option>
                <option value="si">Si</option>
              </select>
	
            <span class="Estilo2">Lavadora:</span>
              <select size="1" name="lavadora">
                <option selected value="no">No</option>
                <option value="si">Si</option>
              </select>
		</td></tr>
			
		 <tr>		  
          <td align="left"><span class="Estilo2">Coches:</span>
              <select size="1" name="coche">
                <option selected value="0">0</option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
	      </select>
			
			   <span class="Estilo2">Motos:</span>
              <select size="1" name="moto">
                <option selected value="0">0</option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
            </select></td>
		
        </tr>
		
		<tr>		  
            <td align="left"><span class="Estilo2">Temporada:</span>
              <select size="1" name="temporada">
                <option selected value="alta">Alta</option>
                <option value="baja">Baja</option>
              </select>
		</td></tr>
		  
		  
		  
          <tr>
            <td align="center"><input name="submit" type="submit" value="Registro" />

       
            </td>
          </tr>
          <tr>
            <td align="center">
          </tr>
        </table>
      </form>
    </div>
  </div>
</blockquote>

  <script type="text/javascript">

      var cal = Calendar.setup({
          onSelect: function(cal) { cal.hide() }
      });
      cal.manageFields("f_btn1", "f_date1", "%Y-%m-%d");
      cal.manageFields("f_btn2", "f_date2", "%Y-%m-%d");

  </script> 
Hola jawir, el problema que veo en el código HTML para lo que quieres lograr, es que al utilizar los elementos button:

Código HTML:
 <button id="f_btn1">...</button> 
se genera automáticamente el submit al hacer clic sobre ellos, así que lo que yo te sugiero es que los cambies por botones estándar de formularios HTML, es decir:

Código HTML:
 <input type="button" id="f_btn1" value="..." /> 
Que tendrían la misma apariencia pero no generarían un submit al hacer clic sobre ellos.

Si de todas formas quieres utilizar los botones anteriores tendrás que deshabilitar el submit automático que tienen al hacer clic sobre ellos, lo cual se logra modificando agregando un evento a su código:

Código HTML:
<button id="f_btn1" onclick="return false">...</button> 
Pero ojo, puede que esta segunda forma tenga problemas con el código javascript para desplegar el calendario que deseas cuando hagan clic sobre el botón, e intuyo que la parte en la que haces la referencia para que esto ocurra esta en este código:

Código HTML:
 <script type="text/javascript">

      var cal = Calendar.setup({
          onSelect: function(cal) { cal.hide() }
      });
      cal.manageFields("f_btn1", "f_date1", "%Y-%m-%d");
      cal.manageFields("f_btn2", "f_date2", "%Y-%m-%d");

</script> 
Por lo que sugiero la primera opción con el input de tipo button.

Código HTML:
 <input type="button" id="f_btn1" value="..." /> 
Saludos.