Foros del Web » Programando para Internet » Javascript »

Enlace que envía formulario

Estas en el tema de Enlace que envía formulario en el foro de Javascript en Foros del Web. Según avanzo en mi trabajo, estoy intentanto cambiar un boton submit, del formulario por un enlace, pero no consigo que valla: Código PHP: <?php      ...
  #1 (permalink)  
Antiguo 05/05/2010, 08:33
Avatar de dengaku  
Fecha de Ingreso: enero-2010
Mensajes: 69
Antigüedad: 14 años, 3 meses
Puntos: 1
Enlace que envía formulario

Según avanzo en mi trabajo, estoy intentanto cambiar un boton submit, del formulario por un enlace, pero no consigo que valla:

Código PHP:
<?php
    
//Iniciar sesión
   
session_start();


 
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Administrar mis descargas </title>
<link href="stilo.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
<!--
function confirmation(archivo) {
* * var answer = confirm("¿Seguro que quieres borrarlo?")
* * if (answer){
* * * * alert("Borrado!")
* * * * window.location = "borrar.php?codigob="+archivo;
* * }
* * else{
* * * * alert("No lo he borrado!")
* * }
}
//-->
function enviar_formulario(){ 
   document.modificar.submit() 

</script>
</script>

</head>

<body class="stilo2">
<div id="Layer12" align="center">
<table border="1"><tr><td align="left">
<img src="logo01 copy.jpg" width="116" height="97" /></div>
</td>
<td align="left">
<?php
// Establecer el número de filas por página y la fila inicial
        
$num 5;// número de filas por página
          
$comienzo=$_REQUEST[comienzo];
          if (!isset(
$comienzo)) 
            
$comienzo 0;    



// Sesión iniciada
   
if (isset($_SESSION["usuario_valido"]))
   {
        include(
"libreria.php");
        
$conexion=conecta();
        
$uv=$_SESSION["usuario_valido"]; 

   
if (isset (
$_REQUEST['modificar'])){
    
$errores false;
    
$maxdes $_REQUEST['max'];
    
$vida $_REQUEST['vida'];
    
$estad $_REQUEST['estado'];
    
$patron1 "^[0-9]+$";

    if (! 
eregi($patron1,$maxdes)){ 
       
$error[1]=' No admite caracter vacio'
       
$errores=true;}
    if (! 
eregi($patron1,$vida)){ 
       
$error[2]=' No admite caracter vacio'
       
$errores=true;}
    
//print $errores."..........";

}

if (isset (
$_REQUEST['modificar']) and $errores==false){

$codarchivo $_REQUEST['cod'];
    
$conexion=conecta();
$sq2="update archivos set max_descargas='$maxdes', tiempo_vida='$vida', estado='$estad' where cod_archivo='$codarchivo'";
//print $sq2;
$registros2=mysql_query($sq2,$conexion) or
              die(
"Problemas en el update".mysql_error());
 echo 
"Archivo fue modificado";
         
$pagina="admindescarga.php";
        
header("Location:$pagina");
 }        
     
        
$sq8="select administrador from usuarios where nick = '$uv'";
        
$registro8=mysql_query($sq8,$conexion) or
          die(
"Problemas en el select:".mysql_error());
        
$bb=mysql_fetch_array($registro8);
        
$cc=$bb['administrador'];
         
//print "$cc";     
         
        
$sq3="select cod_usuario from usuarios where nick = '$uv'";
        
//echo $uv.'<br/>';
        //echo $sq3.'<br/>';
        
$regist=mysql_query($sq3,$conexion) or
          die(
"Problemas en el select:".mysql_error());
        
$aa=mysql_fetch_array($regist);
        
$cu=$aa['cod_usuario'];

        
//print $cu.'<br/>';
        
$sq5="select * from archivos where codigo_usuario = '$cu'";
        
//echo $sq5;
        
$tikitaka=mysql_query($sq5,$conexion) or
          die(
"Problemas en el select:".mysql_error());
        
$nfilas mysql_num_rows ($tikitaka);
        
        
//listado subidas
        
        
$sql="select * from archivos where codigo_usuario = '$cu' limit $comienzo, $num";
        
//echo $sql;
        
$registros=mysql_query($sql,$conexion) or
          die(
"Problemas en el select:".mysql_error());

        
    
        print 
"<p class='stilo1'>Gestor de contenidos PAMAI</p></td></tr>";
        print 
"<tr><td colspan='2' align=left>Bienvenido: ".$uv."</td>";

        print 
"<tr><td colspan='2' align=left>";
                
        print 
"<p class='stilo5'>Administrar mis archivos:</p>";
           print 
"<table border='2' cellspacing='0' class='table'>";
           print 
"<tr><td class='td2'>Nombre archivo</td><td class='td2'>Tamaño</td><td class='td2'>Numero descargas</td><td class='td2'>Max descargas</td><td class='td2'>Fecha Subida</td><td class='td2'>Tiempo de vida</td><td class='td2'>Estado</td><td class='td2'>Modificar</td><td class='td2'>Borra</td></tr>";

        while (
$reg2=mysql_fetch_array($registros))
        {    
        
$estado=$reg2['estado'];
        
//$id=$reg['cod_archivo'];

        
        
              
print '<form action="admindescarga.php" method="post" name=modificar>';
            
            print 
'<input size=5 type="hidden" name="cod" value="'.$reg2['cod_archivo'].'">';
            print 
"<tr><td>".$reg2['nombre']."</td>";
            
              print 
"<td>".$reg2['size']."</td>";
            
               print 
"<td>".$reg2['num_descargas']."</td>";
            
            print 
'<td  class=td1><input size=5 type="text" name="max" value="'.$reg2['max_descargas'].'">';
        print (
"<font color=red>$error[1]</font><BR>");"</td>";
        
            print 
"<td>".$reg2['fecha_subida']."</td>";
            
            print 
'<td class=td1><input size=5 type="text" name="vida" value="'.$reg2['tiempo_vida'].'">';
        print (
"<font color=red>$error[2]</font><BR>");"</td>";

            print 
"<td class=td1><select name='estado'>"
            print 
"<option value='-1' "
                if (
$estado == -1) { print " selected ";}
            print 
">Activo</option>";
            print 
"<option value='0' ";
                if (
$estado == 0) { print " selected ";}
            print 
">Inactivo</option>";
            print 
"</select>";
            
            print 
"<td><a href=javascript:enviar_formulario()>Enviar formulario</a></td>";
            
             
//print '<td class=td3><input type="submit" name="modificar" value="Modifica"></td>';
            
//Con un clic simple y sin validar
//print "<td class=td3><a href=borrar.php?codigob=".$reg2['cod_archivo']."><img src='borrar.png'></a></td></tr>";
            
//con doble click simple sin validar            
//print "<td class=td3><a onDblClick=location.href=\"borrar.php?codigob=".$reg2['cod_archivo']."\"><img src='borrar.png'></a></td></tr>";

//Con doble clic y confirmación
print "<td class=td3><a href='#' onDblClick=confirmation(".$reg2['cod_archivo'].")><img src='borrar.png'></a></td></tr>";
            
                
            print 
"</form>";
           }        
        print 
"</table>";

        
//echo $comienzo.'<br/>';
        //echo $num.'<br/>';
        //echo $nfilas.'<br/>';
        
                    
if ($comienzo 0)
               print (
"[ <A HREF='$_SERVER[PHP_SELF]?comienzo=" . ($comienzo $num) . "'>Anterior</A> | ");
            else
               print (
"[ Anterior | ");
            if (
$nfilas > ($comienzo $num))
               print (
"<A HREF='$_SERVER[PHP_SELF]?comienzo=" . ($comienzo $num) . "'>Siguiente</A> ]\n");
            else
                print (
"Siguiente ]\n");

            print 
"</td></tr></table>";    
}

?>
</div>
<div id="Layer5">Subir</div>
<div id="Layer6"><a href="admindescarga.php">Administrar
    </a></div>


<?php if ($cc == '-1'){ ?><div id="Layer7">
    <a href="genera_clave.php">Insertar usuarios    </a></div>
<?php ?>
<?php 
if ($cc == '-1'){ ?><div id="Layer8">
    <a href="adminusu.php">Actualizar usuarios    </a></div>
<?php ?>
<?php 
if ($cc == '-1'){ ?><div id="Layer9">
    <a href="admdescarga.php">Modificar archivos </a></div>
<?php ?>

</body>
</html>
este el php entero, y al funcion y el enlace son estos respectivamente
Código HTML:
function enviar_formulario(){ 
   document.modificar.submit() 
}
y
Código PHP:
            print "<td><a href=javascript:enviar_formulario()>Enviar formulario</a></td>"
pero no va, ¿como podría hacerlo?
  #2 (permalink)  
Antiguo 05/05/2010, 08:36
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Enlace que envía formulario

Por qué no usar un submit?

Necesitas que sea forzosamente un enlace?

Trata con:
Código:
<a OnClick="enviar_formulario();">Enviar formulario</a>
  #3 (permalink)  
Antiguo 05/05/2010, 09:05
Avatar de dengaku  
Fecha de Ingreso: enero-2010
Mensajes: 69
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Enlace que envía formulario

Vale ya va la cosa entero es:

Código PHP:
<?php
    
//Iniciar sesión
   
session_start();


 
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Administrar mis descargas </title>
<link href="stilo.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
<!--
function confirmation(archivo) {
* * var answer = confirm("¿Seguro que quieres borrarlo?")
* * if (answer){
* * * * alert("Borrado!")
* * * * window.location = "borrar.php?codigob="+archivo;
* * }
* * else{
* * * * alert("No lo he borrado!")
* * }
}
//-->
function enviar_formulario(form_name){ 
document.getElementById(form_name).submit();

</script>


</head>

<body class="stilo2">
<div id="Layer12" align="center">
<table border="1"><tr><td align="left">
<img src="logo01 copy.jpg" width="116" height="97" /></div>
</td>
<td align="left">
<?php
// Establecer el número de filas por página y la fila inicial
        
$num 5;// número de filas por página
          
$comienzo=$_REQUEST[comienzo];
          if (!isset(
$comienzo)) 
            
$comienzo 0;    



// Sesión iniciada
   
if (isset($_SESSION["usuario_valido"]))
   {
        include(
"libreria.php");
        
$conexion=conecta();
        
$uv=$_SESSION["usuario_valido"]; 

   
//if (isset ($_REQUEST['modificar'])){
if (isset($_POST['accion']) && $_POST['accion'] == 'modificar') {
    
$errores false;
    
$maxdes $_REQUEST['max'];
    
$vida $_REQUEST['vida'];
    
$estad $_REQUEST['estado'];
    
$patron1 "^[0-9]+$";

    if (! 
eregi($patron1,$maxdes)){ 
       
$error[1]=' No admite caracter vacio'
       
$errores=true;}
    if (! 
eregi($patron1,$vida)){ 
       
$error[2]=' No admite caracter vacio'
       
$errores=true;}
    
//print $errores."..........";

}

if (isset(
$_POST['accion']) && $_POST['accion'] == 'modificar' and $errores==false){

$codarchivo $_REQUEST['cod'];
    
$conexion=conecta();
$sq2="update archivos set max_descargas='$maxdes', tiempo_vida='$vida', estado='$estad' where cod_archivo='$codarchivo'";
//print $sq2;
$registros2=mysql_query($sq2,$conexion) or
              die(
"Problemas en el update".mysql_error());
 echo 
"Archivo fue modificado";
         
$pagina="admindescarga.php";
        
header("Location:$pagina");
 }        
     
        
$sq8="select administrador from usuarios where nick = '$uv'";
        
$registro8=mysql_query($sq8,$conexion) or
          die(
"Problemas en el select:".mysql_error());
        
$bb=mysql_fetch_array($registro8);
        
$cc=$bb['administrador'];
         
//print "$cc";     
         
        
$sq3="select cod_usuario from usuarios where nick = '$uv'";
        
//echo $uv.'<br/>';
        //echo $sq3.'<br/>';
        
$regist=mysql_query($sq3,$conexion) or
          die(
"Problemas en el select:".mysql_error());
        
$aa=mysql_fetch_array($regist);
        
$cu=$aa['cod_usuario'];

        
//print $cu.'<br/>';
        
$sq5="select * from archivos where codigo_usuario = '$cu'";
        
//echo $sq5;
        
$tikitaka=mysql_query($sq5,$conexion) or
          die(
"Problemas en el select:".mysql_error());
        
$nfilas mysql_num_rows ($tikitaka);
        
        
//listado subidas
        
        
$sql="select * from archivos where codigo_usuario = '$cu' limit $comienzo, $num";
        
//echo $sql;
        
$registros=mysql_query($sql,$conexion) or
          die(
"Problemas en el select:".mysql_error());

        
    
        print 
"<p class='stilo1'>Gestor de contenidos PAMAI</p></td></tr>";
        print 
"<tr><td colspan='2' align=left>Bienvenido: ".$uv."</td>";

        print 
"<tr><td colspan='2' align=left>";
                
        print 
"<p class='stilo5'>Administrar mis archivos:</p>";
           print 
"<table border='2' cellspacing='0' class='table'>";
           print 
"<tr><td class='td2'>Nombre archivo</td><td class='td2'>Tamaño</td><td class='td2'>Numero descargas</td><td class='td2'>Max descargas</td><td class='td2'>Fecha Subida</td><td class='td2'>Tiempo de vida</td><td class='td2'>Estado</td><td class='td2'>Modificar</td><td class='td2'>Borra</td></tr>";

        while (
$reg2=mysql_fetch_array($registros))
        {    
        
$estado=$reg2['estado'];
        
//$id=$reg['cod_archivo'];

        
        
              
print '<form action="admindescarga.php" method="post" name='.$reg2['cod_archivo'].'>';
            
            print 
'<input size=5 type="hidden" name="cod" value="'.$reg2['cod_archivo'].'">';
            print 
'<input type="hidden" name="accion" value="modificar" />';
            print 
"<tr><td>".$reg2['nombre']."</td>";
            
              print 
"<td>".$reg2['size']."</td>";
            
               print 
"<td>".$reg2['num_descargas']."</td>";
            
            print 
'<td  class=td1><input size=5 type="text" name="max" value="'.$reg2['max_descargas'].'">';
        print (
"<font color=red>$error[1]</font><BR>");"</td>";
        
            print 
"<td>".$reg2['fecha_subida']."</td>";
            
            print 
'<td class=td1><input size=5 type="text" name="vida" value="'.$reg2['tiempo_vida'].'">';
        print (
"<font color=red>$error[2]</font><BR>");"</td>";

            print 
"<td class=td1><select name='estado'>"
            print 
"<option value='-1' "
                if (
$estado == -1) { print " selected ";}
            print 
">Activo</option>";
            print 
"<option value='0' ";
                if (
$estado == 0) { print " selected ";}
            print 
">Inactivo</option>";
            print 
"</select>";
            
            print 
"<td><a href=javascript:enviar_formulario(".$reg2['cod_archivo'].")>Enviar formulario</a></td>";
            
             
//print '<td class=td3><input type="submit" name="modificar" value="Modifica"></td>';
            
//Con un clic simple y sin validar
//print "<td class=td3><a href=borrar.php?codigob=".$reg2['cod_archivo']."><img src='borrar.png'></a></td></tr>";
            
//con doble click simple sin validar            
//print "<td class=td3><a onDblClick=location.href=\"borrar.php?codigob=".$reg2['cod_archivo']."\"><img src='borrar.png'></a></td></tr>";

//Con doble clic y confirmación
print "<td class=td3><a href='#' onDblClick=confirmation(".$reg2['cod_archivo'].")><img src='borrar.png'></a></td></tr>";
            
                
            print 
"</form>";
           }        
        print 
"</table>";

        
//echo $comienzo.'<br/>';
        //echo $num.'<br/>';
        //echo $nfilas.'<br/>';
        
                    
if ($comienzo 0)
               print (
"[ <A HREF='$_SERVER[PHP_SELF]?comienzo=" . ($comienzo $num) . "'>Anterior</A> | ");
            else
               print (
"[ Anterior | ");
            if (
$nfilas > ($comienzo $num))
               print (
"<A HREF='$_SERVER[PHP_SELF]?comienzo=" . ($comienzo $num) . "'>Siguiente</A> ]\n");
            else
                print (
"Siguiente ]\n");

            print 
"</td></tr></table>";    
}

?>
</div>
<div id="Layer5">Subir</div>
<div id="Layer6"><a href="admindescarga.php">Administrar
    </a></div>


<?php if ($cc == '-1'){ ?><div id="Layer7">
    <a href="genera_clave.php">Insertar usuarios    </a></div>
<?php ?>
<?php 
if ($cc == '-1'){ ?><div id="Layer8">
    <a href="adminusu.php">Actualizar usuarios    </a></div>
<?php ?>
<?php 
if ($cc == '-1'){ ?><div id="Layer9">
    <a href="admdescarga.php">Modificar archivos </a></div>
<?php ?>

</body>
</html>
Las lineas clave son:

-Cuando hago el form el name, una nueva input pero hidden a la que le doy valor, name y value, luego el <a href>, y finalmente antes de comprobar los errores y ahcer el update poner bien la recogida acorde al name y value del form :D y ya va XD

*Si Venom_mau se me exigía con un enlace
  #4 (permalink)  
Antiguo 05/05/2010, 09:11
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Enlace que envía formulario

Jajaja
Bueno, que bien que te quedo
Saludos :)

Etiquetas: enlace, 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 18:49.