JQuery: refresh y reload - Userlinux.net

Teniendo el típico formulario de edición/detalle de un registro donde se pueden guardar los cambios o borrar el registro de la base de datos -pues sí que planteo un caso geńerico- se me antoja bastante usable el redirigir a otra página en caso de que el usuario desee eliminar: /*…

JQuery: refresh y reload

04.Aug.2009 ~ 7 Comentarios ~ 12796 Lecturas
Teniendo el típico formulario de edición/detalle de un registro donde se pueden guardar los cambios o borrar el registro de la base de datos -pues sí que planteo un caso geńerico- se me antoja bastante usable el redirigir a otra página en caso de que el usuario desee eliminar:
/* Borrando asiento */
function borra(id)
{
	if(confirm("¿Seguro que deseas borrar #" + id + "?"))
	{
		$.ajax
		({
			type: 'POST',
			url: 'ajax.php',
			data: 'id='+id+'&accion=borra',
			dataType: 'html',
			error: function() {
				alert ( "Error" );
			},
			success: function(html) {
				window.location.replace("/");
			}
		});
	}
}
El asunto está en el window.location.replace, que hará la redirección sin quejarse. Obviamente se trata de mezclar Javascript con JQuery, ¿alguien tiene algo mejor?.
Categorías: programación

Comentarios


gravatar
04.Aug.2009
Yo lo mandaría al mismo sitio, y luego que el controlador decida en base a un campo de formulario que "borrar" pondrá a 1 vía javascript si toca borrar.

Es menos complicado, o igual no :D pero construir una URL desde javascript... me queda feo.

gravatar
04.Aug.2009
Esperaaaa, que es AJAX. Ya entiendo, ya. Yo recargaba la página, pero tú no lo haces... y si borras vía AJAX, tendrás que cambiar de vista.

Es eso, ¿no? :D

gravatar
04.Aug.2009
Yo por lo general no uso eliminación en detalle, sino en vista maestro con registros, típicos botones Editar (lleva a URL propia) / Eliminar (Ajax que elimina el registro y lo oculta de la vista actual sin refrescar). Salvo necesidades específicas me limito a ocultar esa fila en el evento de éxito...

success: function(html) {
$("#id_de_la_capa_del_registro_X").slideUp("slow").hide();
}

o remove() si quieres quitarlo del DOM también por lo que sea. Opciones, opciones, muchas opciones con jQuery :D

gravatar
05.Aug.2009
@reidrac: Exacto, se trata de cambiar de script en el momento que borras el registro que estás editando, osea borras vía AJAX y cambias de vista.

@MarcosBL: Si, es lo que se suele hacer, eliminar en vista listado, pero me ha resultado curiosa la nueva situación. Aunque entiendo que en vista detalle lo lógico es, o no borrar, o hacerlo sin usar AJAX. Al ser algo excepcional por eso he pensado que merecía una entrada barra recordatorio :P

gravatar
daniel
24.Aug.2009
hola, creo que es un poco incorrecto decir "mezclar jquery con javascript" ya que al fin y al cabo, jquery también es javascript.

disculpa por ser pesado ;)

un saludo
daniel

gravatar
03.Sep.2009
@daniel: Está claro que JQuery no es más que una librería programada en Javascript, cuando se habla de "mezclar" me refiero principalmente a puntualidades myuy concretas, pero es una buena matización :).

gravatar
05.Aug.2010
...dataType: 'html',
error: function() {
alert ( "Error" );
},
success: function(html) {
[removed].replace(html);
...

Creo que esta puede ser una buena solucion, así puedes construir desde php la url y te evitas manejar dom. Opino que manejar el dom puede ser mejor, pero más costoso de programar.

otra opcion:
success:
$(#id-tabla).parent().load(loquesea.php#id-tabla);

Es una segunda llamada ajax que sustituye el html de la tabla antigua por la nueva sin ese registro. De nuevo, menos eficiente, pero también menos costoso de programar.

Comentarios


Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 15 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Buscar

Cargando...

Últimos comentarios

  • graffic
  • reidrac
  • reidrac
  • Wu
  • dilam
  • r0sk
  • reidrac
  • r0sk
  • chucu
  • r0sk
  • el_palomo_programador
  • r0sk
  • reidrac
  • Player 1
  • r0sk

Moneting

Valor de mi cuenta de Facebook según Moneting
Valor de mi cuenta de Twitter según Moneting

Tagcloud

bsd humor bake twitter vacaciones ps3 hack 2007 python blog django alemania_2006 mundial cake felicidades games conciertos rsidenotes juegos openbsd web iphone sidenotes rfilms ubuntu barça cakephp blogsfera mac bash meme macosx deportes canción ds personal films freebsd 2008 opinion nintendo sysadmin futbol mysql php frases userlinux debian ssh linux blogs champions apple lugo league programación twitt lucux seguridad cumpleaños

Archivo

Social

Enlaces de interés