Foros del Web » Programando para Internet » Javascript »

Envio de formulario en la misma página

Estas en el tema de Envio de formulario en la misma página en el foro de Javascript en Foros del Web. hola a todos, gracias a la ayuda de algun compañero del foro de php y lo que he ido mirando por algunos blogs he realizado ...
  #1 (permalink)  
Antiguo 04/05/2010, 04:14
 
Fecha de Ingreso: noviembre-2007
Mensajes: 45
Antigüedad: 16 años, 5 meses
Puntos: 1
Envio de formulario en la misma página

hola a todos, gracias a la ayuda de algun compañero del foro de php y lo que he ido mirando por algunos blogs he realizado un listado de las entradas de la base de datos, donde seleccionando mediante checkbox les puedo aplicar una accion sobre ellos (eliminar, editar, publicado...). El código es el siguiente (lo pongo todo por si fuera necesario para avanzar):

list_content.php

Código:
<form method="post" action="index.admin.php?page=list_process">
    <div id="sub_menu">
        <h4>Enlaces rapidos:</h4>
        <ul>
        <li><input type="image" name="action" value="publish" src="styles/images/publish.icon.png" title="Publicar" /></li>
        <li> | </li>
        <li><input type="image" name="action" value="unpublish" src="styles/images/unpublish.icon.png" title="No Publicar"/></a></li>
        <li> | </li>
        <li><input type="image" name="action" value="delete" src="styles/images/trash.icon.png" class="deletebutton" title="Eliminar" /></li>
        <li> | </li>
        <li><input type="image" name="action" value="edit" src="styles/images/edit.icon.png" title="Editar" /></a></li>
        <li> | </li>
        <li><a href="index.admin.php?page=add_content" title="Crear"><img src="styles/images/create.icon.png" /></a></li>
        </ul>
    </div>

......................

<table class="border">
                <thead>
                <tr>
                    <th scope="col" width="15">Id</td>
                    <th scope="col" width="25"><input type="checkbox" name="select_all" class="chkdAll" value=""></th>
                    <th scope="col">Titulo</th>
                    <th scope="col">Publicado</th>
                    <th scope="col">Sección</th>
                    <th scope="col">Categoría</th>
                    <th scope="col" width="40">Autor</th>
                    <th scope="col" width="60">Fecha</th>
                </tr>
                </thead>
                    <tbody>
                        <?php
                            while($row = mysql_fetch_assoc($entries)) {    
                                
                                echo "
                                <tr>
                                    <td>".$row['id']."</td> 
                                    <td><input type='checkbox' class='chkId' name='items[]' value='".$row['id']."'></th>
                                    <td class='title'><a href='index.admin.php?page=list_content&id=".$row['id']."' class='";
                                    
                                    if($row['reviewed'] == 1)
                                        echo "review";
                                    
                                    echo "'>".$row['title']."</a></td>
                                    <td>";
                                    
                                    if($row['published'] == 1) {
                                        echo "<img src='styles/images/publish.icon.png' width='25' height='25' />";
                                    }
                                    else {
                                        echo "<img src='styles/images/unpublish.icon.png' width='25' height='25' />";
                                    } 
                                    echo "</td>
                                    <td>".$row['section']."</td>
                                    <td>".$row['category']."</td>
                                    <td>".$row['author']."</td>
                                    <td>".$row['fechasp']."</td>
                                </tr>
                                ";
                            }
                        ?>
                        <br>
                    </tbody>
                </table>
list_process.php

Código:
$items = $_POST['items'];

function trash($items) {

    if($items == 0)
    {
        echo "No has seleccionado ningun elemento. Debes seleccionar almenos uno!";    
    }
    else
    {
        // Generamos una lista de los ID's (campo value= ..) que tenemos en nuestro array.
        $list_selected=implode(',',$_POST['items']);
        
        mysql_query("DELETE FROM content WHERE id IN(".$list_selected.")");
        echo "Las entradas seleccionadas se han eliminado satisfactóriamente";       
    }
}

function publish($items) {

    if($items == 0)
    {
        echo "No has seleccionado ningun elemento. Debes seleccionar almenos uno!";    
    }
    else
    {
        // Generamos una lista de los ID's (campo value= ..) que tenemos en nuestro array.
        $list_selected=implode(',',$_POST['items']);
        
        mysql_query("UPDATE content SET published=1 WHERE id IN(".$list_selected.")");
        echo "Las entradas seleccionadas se han publicado satisfactóriamente";       
    }
} 

function unpublish($items) {

    if($items == 0)
    {
        echo "No has seleccionado ningun elemento. Debes seleccionar almenos uno!";    
    }
    else
    {
        // Generamos una lista de los ID's (campo value= ..) que tenemos en nuestro array.
        $list_selected=implode(',',$_POST['items']);
        
        mysql_query("UPDATE content SET published=0 WHERE id IN(".$list_selected.")");
        echo "Las entradas seleccionadas se han despublicado satisfactóriamente";       
    }
}

if($_POST['action']) {

    //Según la acción escojemos el script correspondiente
    switch ($_POST['action']) {
        case "delete":
        trash($_POST['items']);
        break;

        case "publish":
        publish($_POST['items']);
        break;

        case "unpublish":
        unpublish($_POST['items']);
        break;
        
        default:
        echo "Error en la página.Por favor, vuelve a internarlo";
        exit();
    }

}
else {
//se ha accedido a esta página directamente, sin someter ningún formulario. Aquí puedes mostrar un mensaje, redireccionar la página, finalizar el script con exit(),...
echo "No debes estar aqui!! Vuelve por donde has venido jaja";
}
Pues bien, ahora me funciona correctamente. El problema que tengo es que cuando envio el formulario me va a la página list_process.php y a mi lo que me gustaria es que me informara en la misma página del proceso, refrescando la página directamente.

Por lo poco que sé creo que con javascript y/o Ajax se puede realizar esto pero no se por donde empezar. Alguien me podría orientar o enlazar una página donde puedo encontrar algo como lo que busco?

Gracias!!
  #2 (permalink)  
Antiguo 07/05/2010, 01:51
 
Fecha de Ingreso: noviembre-2007
Mensajes: 45
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Envio de formulario en la misma página

Hola de nuevo. He seguido buscando pero no he encontrado nada entendible. Alguien me podría ayudar? Gracias de nuevo!
  #3 (permalink)  
Antiguo 07/05/2010, 03:00
 
Fecha de Ingreso: mayo-2010
Mensajes: 12
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Envio de formulario en la misma página

Esa misma duda la tengo yo, quiero que me muestre el archivo .php dentro de un div pero no sé como...
Voy a ponerme con un manual de javascript por que aqui nadie me ayudo...:_(

Etiquetas: envio, formulario
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 22:22.