sábado, 23 de febrero de 2019
Filtra una vista de datos por la fecha actual (II)
function moverdia(num){
var dir = window.location.href;
var fechad = dir.split('date=')[1];
var fechai = dir.split('date=')[0];
var nuevod = new Date(fechad);
nuevod.setDate(nuevod.getDate(fechad) + num);
var ano = nuevod.getFullYear();
var mes = (nuevod.getMonth()+1);
mes = ("0" + mes).slice(-2);
var dia = nuevod.getDate();
dia = ("0" + dia).slice(-2);
window.location.href= fechai + 'date=' + ano + '-' + mes + '-' + dia;
}
Gracias a esta función recogemos la fecha de la URL, añadimos el número de días que le pasamos como parámetro (positivo o negativo), nos aseguramos que el mes tenga dos dígitos y redireccionamos con la nueva fecha como parámetro de la URL.
domingo, 21 de agosto de 2016
Recoger parámetro de la URL con Jquery y completar un campo de tipo búsqueda de SharePoint
Siguiendo con la entrada anterior quedaría recoger el número de ID correspondiente al libro y dejarlo seleccionado en un campo de tipo búsqueda de la lista reserva de libros. Dicho campo, será un campo de búsqueda sobre la lista de libros, cogiendo como clave el nombre del libro.
Para ello tendremos una dirección del tipo:
https://URLdelSitio/Lists/ReservaLibro/Nuevo.aspx?Libro=1&Source=/URLdelSitioalquevolvertrasaceptar/
Este sería el libro con el ID=1 en la lista de libros.
Para ello, en formulario de nuevo elemento de la lista reserva de libros, debería añadir un editor de código fuente con el siguiente código:
<script>
$(document).ready(function(){
var direccion = window.location.href;
var numero = direccion.split('Libro=')[1];
numero = numero.split('&Source')[0];
$("[title='Libro'] option[value="+numero+"]").prop('selected', true);
$('#Book option:not(:selected)').attr('disabled',true);
});
</script>
Habiendo añadido el ID=Book al tr del campo de busqueda, en mi caso:
<td width="400px" valign="top" class="ms-formbody" id="Book">
<SharePoint:FormField runat="server" id="ff3{$Pos}" ControlMode="New" FieldName="Libro" __designer:bind="{ddwrt:DataBind('i',concat('ff3',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Libro')}"/>
<SharePoint:FieldDescription runat="server" id="ff3description{$Pos}" FieldName="Libro" ControlMode="New"/>
</td>
El código JavaScript de arriba lo que hace es:
- Recoger la URL en la variable dirección
- Quedarnos con la parte tras la palabra 'Libro=' en la variable numero
- En esa misma variable, eliminamos la parte del redireccionamiento
- Buscamos el campo de tipo búsqueda, que en mi caso se llama Libro y seleccionamos el valor que hemos recogido de la URL en la variable numero
- Por último, deshabilitamos el resto de opciones diferentes a la que hemos pasado como parámetro del Libro.





