Foros del Web » Programando para Internet » Javascript »

Usando JS Calendar

Estas en el tema de Usando JS Calendar en el foro de Javascript en Foros del Web. buenas tengo un calendario "jscalendar" resulta que no se como colocar otro en el mismo formulario. por favor alguien que me ayude, se lo agradeceria! ...
  #1 (permalink)  
Antiguo 27/10/2009, 12:32
Avatar de sinai21  
Fecha de Ingreso: octubre-2009
Mensajes: 89
Antigüedad: 14 años, 6 meses
Puntos: 0
Exclamación Usando JS Calendar

buenas tengo un calendario "jscalendar" resulta que no se como colocar otro en el mismo formulario. por favor alguien que me ayude, se lo agradeceria!


esto es lo que tengo:


<link type="text/css" href="calendar-win2k-1.css" rel="stylesheet" >
<script type="text/javascript" src="calendar.js"></script>
<script type="text/javascript" src="calendar-en.js"></script>
<script type="text/javascript" src="calendar-setup.js"></script>
<script type="text/javascript">
window.onload = function() {
Calendar.setup({
inputField: "f_desde",
ifFormat: "%Y/%m/%d",
button: "trigger"
});
}
</script>




Código HTML:
 <td width="120"><span class="Estilo3">Desde:</span></td>
      <td width="192"><input name="f_desde" type="text" id="f_desde" size="8" maxlength="10" />
          <button id="trigger">...</button></td>



 <td width="120"><span class="Estilo3">Hasta:</span></td>
      <td width="192"><input name="f_hasta" type="text" id="f_hasta" size="8" maxlength="10" />
          <button id="trigger">...</button></td> 

he colocado otra funcion javascript debajo de la primera pero no me muestra el 2do calendario
  #2 (permalink)  
Antiguo 28/10/2009, 06:05
 
Fecha de Ingreso: febrero-2009
Mensajes: 102
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Usando JS Calendar

Lo que tienes que hacer es ponerle un nombre distinto al segundo lanzador, y luego dos funciones Calendar.setup, cada una con su lanzador y su campo input.

Más o menos así

Código:
 <td width="120"><span class="Estilo3">Desde:</span></td>
      <td width="192"><input name="f_desde" type="text" id="f_desde" size="8" maxlength="10" />
          <button id="trigger">...</button></td>



 <td width="120"><span class="Estilo3">Hasta:</span></td>
      <td width="192"><input name="f_hasta" type="text" id="f_hasta" size="8" maxlength="10" />
          <button id="trigger2">...</button></td>
y luego

Código:
<script type='text/javascript'>
	Calendar.setup({
		inputField : 'f_desde',
		ifFormat : '%d-%m-%Y',
		button : 'trigger' 
	});
</script>

<script type='text/javascript'>
	Calendar.setup({
		inputField : 'f_hasta', 
		ifFormat : '%d-%m-%Y',
		button : 'trigger2' 
	});
</script>
Prueba a ver si te funciona.
  #3 (permalink)  
Antiguo 28/10/2009, 07:24
Avatar de sinai21  
Fecha de Ingreso: octubre-2009
Mensajes: 89
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Usando JS Calendar

buenas! como puedo validar que la fecha de entrada no sea mayor a la fecha de salida:

fecha_desde:YYYY/mm/dd


fecha_hasta:YYYY/mm/dd


ambas fechas las obtengo cuando un usuario las seleciona de un calendario js

Última edición por sinai21; 28/10/2009 a las 07:57
  #4 (permalink)  
Antiguo 28/10/2009, 07:53
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Usando JS Calendar

Hola

Así

Código javascript:
Ver original
  1. if(fecha1 > fecha2){
  2. alert("error")
  3. } else {
  4. alert("bien")
  5. }

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 28/10/2009, 08:05
Avatar de sinai21  
Fecha de Ingreso: octubre-2009
Mensajes: 89
Antigüedad: 14 años, 6 meses
Puntos: 0
Pregunta Respuesta: comparando fecha_desde sea < a fecha_hasta

no hay problema si utilizo lo que me dices, si las fechas son obtenidas de un calendario js y estan en el formato: YYYY/mm/dd???
  #6 (permalink)  
Antiguo 28/10/2009, 08:16
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: comparando fecha_desde sea < a fecha_hasta

Cita:
Iniciado por sinai21 Ver Mensaje
no hay problema si utilizo lo que me dices, si las fechas son obtenidas de un calendario js y estan en el formato: YYYY/mm/dd???
Si guarda en una variable ambas fecha y tienen el mismo formato, no hay ningún problema. En el caso que por alguna razón tengas problemas lo que puedes hacer es un split a ambas fechas y luego montarlas con el formato que quieras, e incluso como cadena numérica

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #7 (permalink)  
Antiguo 28/10/2009, 08:42
Avatar de sinai21  
Fecha de Ingreso: octubre-2009
Mensajes: 89
Antigüedad: 14 años, 6 meses
Puntos: 0
Pregunta Respuesta: comparar fechas

hola! tengo un problema?

tengo esta funcion en javacript:
Código:
function chequearfechas() {

if(fecha1 > fecha2){
alert("error")
return false;


} else {alert("bien")}
}
el problema es uqe no me funciona, ademas no se como colocarla en el codigo html:

Código HTML:
<tr>
      <td width="120"><div align="center"><span class="Estilo13">Desde:</span></div></td>
      <td width="192"><input name="f_desde" type="text" id="f_desde" size="8" maxlength="10" onClick="chequearfechas()"/>
          <button id="trigger3">...</button></td>
    </tr>
    <tr>
      <td width="120"><div align="center"><span class="Estilo13">Hasta:</span></div></td>
      <td width="192"><input name="f_hasta" type="text" id="f_hasta" size="8" maxlength="10" onClick="chequearfechas()"/>
          <button id="trigger2">...</button></td>
    </tr>
    <tr> 
  #8 (permalink)  
Antiguo 28/10/2009, 09:48
 
Fecha de Ingreso: febrero-2009
Mensajes: 102
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Usando JS Calendar

Te faltan puntos y coma, definir las variables "fecha" y hacer algún getElement para que tenga algo o bien pasarselas a la función. Para meterlas en el html es como te puse antes, con las etiquetas <script>.

Como no has comentado nada de lo que te dije antes supongo que será que te ha funcionado.
  #9 (permalink)  
Antiguo 28/10/2009, 09:55
Avatar de sinai21  
Fecha de Ingreso: octubre-2009
Mensajes: 89
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Usando JS Calendar

esto esta mas mal que peor!

no vale todavia nada!
  #10 (permalink)  
Antiguo 28/10/2009, 10:10
 
Fecha de Ingreso: febrero-2009
Mensajes: 102
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Usando JS Calendar

Pues no será porque no te estemos contestando a todo...
  #11 (permalink)  
Antiguo 28/10/2009, 10:12
Avatar de sinai21  
Fecha de Ingreso: octubre-2009
Mensajes: 89
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta:comparando que f_desde sea < a fecha_hasta

tengo lo siguiente:
Código:
function chequearfechas(f_desde, f_hasta) {

if(f_desde > f_hasta){
return false;


} else {
return true; }
}

function validaFecha( forml ){   // esto lo copie de internet y tengo dudas ????
    var FechaMenor = forml.f_desde.value;   
    var FechaMayor = forml.f_hasta.value;   
  
    if(chequearfechas(f_desde, f_hasta) == true)   
        alert("OK. La fecha es menor.");   
    else  
        alert("Error. La fecha NO es menor.");   
}

no puedo hacer que funcione, aguien que me ayude, se lo agradeceria. gracias!
  #12 (permalink)  
Antiguo 28/10/2009, 10:19
 
Fecha de Ingreso: febrero-2009
Mensajes: 102
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Usando JS Calendar

Si el valor de los campos de fecha se lo has asignado a FechaMenor y a FechaMayor, esos deberían ser los valores que le pases a la función chequearFechas. Porque f_desde y f_hasta no los tienes definidos en ninguna parte.
  #13 (permalink)  
Antiguo 28/10/2009, 10:29
Avatar de sinai21  
Fecha de Ingreso: octubre-2009
Mensajes: 89
Antigüedad: 14 años, 6 meses
Puntos: 0
Exclamación Respuesta: Usando JS Calendar

Muy buena tu observacion, gracias!

de todas formas sigue el problema,no me valida!


esto es lo que esoy haciendo, no sesi no lemo bien a la funcion desde el formulario o esta mal el codigo, admito nunca antes he trabajado con este lenguaje. les agradeceria su ayuda!!!:::


Código:
<script language="JavaScript">
function validar(){
		var chequeo=false;

							if (chequearcedula())
								if (chequearfechas())
									if (validaFecha(  ))
									chequeo=true;
												if(chequeo)
												alert("Busqueda exitosa");
											else
												return false;
	}
//		
function chequearcedula() {
cedula=document.form1.cedula.value;
if(cedula==""){
			alert("Lo siento  "+document.form1.cedula.name+" no puede estar vacio");
			document.form1.cedula.focus();
			return false;
			}
			if(isNaN(cedula)){
			alert("Lo siento  "+document.form1.cedula.name+" debe ser un numero valido");
			document.form1.cedula.focus();
			return false;
			}else{ 
			return true;}}

//
function chequearfechas() {

if(f_desde > f_hasta){
alert("error")
return false;


} else {
alert("bien")
return true; }
}

function validaFecha( forml ){   
    var FechaMenor = forml.f_desde.value;   
    var FechaMayor = forml.f_hasta.value;   
  
    if(chequearfechas(FechaMenor, FechaMayor) == true)   
        alert("OK. La fecha es menor.");   
    else  
        alert("Error. La fecha NO es menor.");   
}   

</script>

Código HTML:
<body>
<form id="form1" name="form1" method="POST" action="" OnSubmit="return validar();">
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <label></label>
  <table width="280" height="225" border="0" align="center" cellspacing="2" bgcolor="#E6ECFA">
    <tr bgcolor="#123460">
      <td height="22" colspan="2" bgcolor="#BED0EF"><span class="Estilo3">Horas Trabajadas </span></td>
    </tr>
    <tr>
      <td height="27" colspan="2"><div align="center" class="Estilo10"><span class="Estilo9">Se&ntilde;ale el rango de fechas y Cedula </span></div></td>
    </tr>
    <tr>
      <td width="94" height="39"><div align="center"><span class="Estilo13">Cedula:</span></div></td>
      <td width="169" bgcolor="#E6ECFA"><label>
        <input name="cedula" type="text" id="cedula" size="15" maxlength="10" />
      </label></td>
    </tr>
    <tr>
      <td width="120"><div align="center"><span class="Estilo13">Desde:</span></div></td>
      <td width="192"><input name="f_desde" type="text" id="f_desde" size="8" maxlength="10" />
          <button id="trigger3">...</button></td>
    </tr>
    <tr>
      <td width="120"><div align="center"><span class="Estilo13">Hasta:</span></div></td>
      <td width="192"><input name="f_hasta" type="text" id="f_hasta" size="8" maxlength="10" />
          <button id="trigger2">...</button></td>
    </tr>
    <tr>
      <td height="38" colspan="2"><span align="center">
        <input type="submit"  value="Aceptar"  />
        <input type="reset"  value="Cancelar" />
      </span></td>
    </tr>
  </table>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
</form>
</body> 
  #14 (permalink)  
Antiguo 28/10/2009, 11:09
 
Fecha de Ingreso: febrero-2009
Mensajes: 102
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Usando JS Calendar

Es que lo has vuelto a cambiar todo. Está mal el código. Porque desde enviar estás llamando a validarFecha sin pasarle nada pero al definir esa función tu has puesto que le debes pasar un formulario. Y lo mismo pasa cuando llamas a chequearfechas desde validarFecha, le pasas dos parámetros pero luego no los recibes...Despues, cuando llamas a validarFecha estás esperando un valor true o false, cuando en realidad no lo estás retornando desde la función. Además en chequearfechas estás usando dos variables que no tienes definidas en ninguna parte. Lo tienes todo muy liado y no lo entiendo bien del todo pero creo que podría ir así tal y como tienes ahora el formulario. He quitado lo de cédula para que no sea tanto código y lo veas mejor:

Código:
function validar(){
		var chequeo=false;

						
		if (validaFecha( )){
		    chequeo=true;

		}										
               if(chequeo){
			alert("Busqueda exitosa");}
		else{
                        alert("Busqueda no exitosa");
			return false;}
	}

function chequearfechas(f_desde,f_hasta) {

if(f_desde > f_hasta){
alert("error")
return false;


} else {
alert("bien")
return true; }
}

function validaFecha(){   
    var FechaMenor = document.getElementById("f_desde").value;   
    var FechaMayor = document.getElementById("f_hasta").value;   
  
    if(chequearfechas(FechaMenor, FechaMayor) == true)   
        alert("OK. La fecha es menor.");   
        return true;
    else  
        alert("Error. La fecha NO es menor.");   
        return false;
}
  #15 (permalink)  
Antiguo 28/10/2009, 11:51
Avatar de sinai21  
Fecha de Ingreso: octubre-2009
Mensajes: 89
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Usando JS Calendar

buenas tardes!

muchas gracias por tu EXELENTE respuesta y tu amabilidad!

he colocado el colocado el codigo que enviaste, pero aun no hace nada.

de verdad no se que hacer!

agradeceria mucho las sugerencias. gracias
  #16 (permalink)  
Antiguo 28/10/2009, 12:44
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Usando JS Calendar

Hola

No lo he probado, pero intentalo así

Código javascript:
Ver original
  1. <script language="JavaScript">
  2. function validar(c){
  3. chequearcedula(c)
  4. validaFecha(c)
  5. }
  6.  
  7.  
  8. //     
  9. function chequearcedula(c) {
  10. cedula=document.form1.cedula.value;
  11. if(cedula==""){
  12.             alert("Lo siento  "+document.form1.cedula.name+" no puede estar vacio");
  13.             document.form1.cedula.focus();
  14.             return false;
  15.             }
  16.             if(isNaN(cedula)){
  17.             alert("Lo siento  "+document.form1.cedula.name+" debe ser un numero valido");
  18.             document.form1.cedula.focus();
  19.             return false;
  20.             }else{
  21.             return true;}}
  22.  
  23. //
  24. function chequearfechas(f_desde,f_hasta) {
  25.  
  26. if(f_desde > f_hasta){
  27. alert("error")
  28. return false;
  29.  
  30.  
  31. } else {
  32. alert("bien")
  33. return true; }
  34. }
  35.  
  36. function validaFecha(c){  
  37.     var FechaMenor = c.f_desde.value;  
  38.     var FechaMayor = c.f_hasta.value;  
  39.   //alert(FechaMenor + " - " +FechaMayor)
  40.     if(!chequearfechas(FechaMenor, FechaMayor))  
  41.                alert("Error. La fecha NO es menor.");  
  42.  
  43.    else
  44.  
  45.  alert("OK. La fecha es menor.");  
  46. }  
  47.  
  48. </script>
  49. </head>
  50. <body>
  51. <form id="form1" name="form1" method="POST" action="" OnSubmit="return validar(this);">

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #17 (permalink)  
Antiguo 28/10/2009, 13:26
Avatar de sinai21  
Fecha de Ingreso: octubre-2009
Mensajes: 89
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Usando JS Calendar

es muy gentil a responder

que va amigo, aun no funciona no valida nada de nada, cuando le coloque la (c) a la funcion de cedula dejo de funcionar, disculpa la ignorancia, podrias decirme que hace la se en las funciones???

gracias!
  #18 (permalink)  
Antiguo 29/10/2009, 05:41
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Usando JS Calendar

Hola

Error mio, se me pasó esa función. Prueba así

Código javascript:
Ver original
  1. function chequearcedula(c) {
  2. cedula=c.cedula.value;
  3. if(cedula==""){
  4.             alert("Lo siento  "+c.cedula.name+" no puede estar vacio");
  5.             c.cedula.focus();
  6.             return false;
  7.             }
  8.             if(isNaN(cedula)){
  9.             alert("Lo siento  "+c.cedula.name+" debe ser un numero valido");
  10.             c.cedula.focus();
  11.             return false;
  12.             }else{
  13.             return true;}}

Respondiendo a tu pregunta c es un argumento que se le pasa a la función, fíjate que en sumit a la función le he añadido this que quiere decir, en este caso "este formulario", así que ...... zerokiller sácame de esto . Yo se la practica pero no la teoría

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #19 (permalink)  
Antiguo 29/10/2009, 07:09
Avatar de sinai21  
Fecha de Ingreso: octubre-2009
Mensajes: 89
Antigüedad: 14 años, 6 meses
Puntos: 0
De acuerdo Respuesta: Usando JS Calendar

sinceramente te lo agradezco michisimo que me allas ayudado, fue muy BUENA tu generosa ayuda. GRACIAS!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:08.