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.
No hay comentarios:
Publicar un comentario