Foros del Web » Creando para Internet » HTML »

campo select y hidden

Estas en el tema de campo select y hidden en el foro de HTML en Foros del Web. Hola a todos! Estoy haciendo una web de noticias y en la pagina de administracion, por la cual se suben las noticias tengo un formulario ...
  #1 (permalink)  
Antiguo 12/04/2010, 11:04
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años, 7 meses
Puntos: 0
campo select y hidden

Hola a todos!

Estoy haciendo una web de noticias y en la pagina de administracion, por la cual se suben las noticias tengo un formulario con los campos:

Campos de texto: Titulo, noticia, fecha
Campos select: Categorias (el cual hace un select a la base de datos y las muestra), y privada con las opciones Si, o No

Mas abajo tengo 2 campos tipo file, uno para subir archivos y otro para imagenes.

Pero lo que yo quiero y casi lo he conseguido es un desplegable para el campo de archivos en el cual si indico 5 y doy a enviar, me salen 5 campos tipo file, pero se borra lo que habia introducido en los campos anteriores, por lo que mi idea era que se guardasen los campos anteriores en campos hidden y al cargar a pagina de nuevo, que se volviesen a rellenar, PERO COMO GUARDO LO QUE SE HABIA SELECCIONADO EN LOS CAMPOS SELECT?

No se si me e explicado bien pero espero que puedan ayudarme.
  #2 (permalink)  
Antiguo 12/04/2010, 11:27
Avatar de cemansilla  
Fecha de Ingreso: septiembre-2007
Ubicación: Buenos Aires, Argentina, Argentina
Mensajes: 214
Antigüedad: 17 años, 2 meses
Puntos: 6
Respuesta: campo select y hidden

Cita:
Iniciado por mysterio069 Ver Mensaje
Hola a todos!

Estoy haciendo una web de noticias y en la pagina de administracion, por la cual se suben las noticias tengo un formulario con los campos:

Campos de texto: Titulo, noticia, fecha
Campos select: Categorias (el cual hace un select a la base de datos y las muestra), y privada con las opciones Si, o No

Mas abajo tengo 2 campos tipo file, uno para subir archivos y otro para imagenes.

Pero lo que yo quiero y casi lo he conseguido es un desplegable para el campo de archivos en el cual si indico 5 y doy a enviar, me salen 5 campos tipo file, pero se borra lo que habia introducido en los campos anteriores, por lo que mi idea era que se guardasen los campos anteriores en campos hidden y al cargar a pagina de nuevo, que se volviesen a rellenar, PERO COMO GUARDO LO QUE SE HABIA SELECCIONADO EN LOS CAMPOS SELECT?

No se si me e explicado bien pero espero que puedan ayudarme.
El tema es que si pretendés almacenar en campos hidden la info actual necesitarías cargar la información correspondiente en ellos mediante JavaScript.

A mi entender esto se solucionaría de la siguiente manera:

1- Para los campos de texto ponerle el value:

Código HTML:
<input type="text" name="nombre" value="<?= $_POST('nombre'); ?>"/> 
2- Para los selects al ser traidos desde base imagino que los generas con algún bucle, por lo que en cada "vuelta" deberías validar si el valor actual se corresponde con el enviado por el form:

Código PHP:
<?php

$aOpciones 
= array(); // acá tendrías tus datos traidos desde base

$seleccionado $_POST['combo']; // valor seleccionado previamente

?>
<select name="combo">
    <?
    
foreach($aOpciones as $op){
        
?><option value="<?= $op['id']; ?><?= ($op['id'] == $seleccionado) ? "selected=\"selected\"" ""?>><?= $op['nombre']; ?></option><?
    
}
    
?>
</select>
Saludos!
__________________
CÉSAR MANSILLA
Web & Mobile Developer - Analista - Creativo - Curioso
http://cesarmansilla.com/
http://cesarmansilla.com/blog/
  #3 (permalink)  
Antiguo 12/04/2010, 11:43
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: campo select y hidden

Gracias por responder tan rapido! pero el ultimo codigo que has escrito no me aclara mucho.
Aver, mi codigo por ahora es este (aunque por supuesto no esta terminado):
Código PHP:

<form name="noticiainser" method="POST" action="insertarnoticia.php?<?php echo session_name()."=".session_id()?>" enctype="multipart/form-data">
Titulo <input name="campo_titulo"><br>
Noticia <br><textarea rows="10" cols="80" name="campo_noticia"></textarea><br>
Fecha <input name="campo_fecha"><br>
Categoria <SELECT NAME="campo_codcat"><br>
<?php
include("conexion_mysql.inc");
$conexion=mysql_connect($mysql_server,$mysql_login,$mysql_pass) or die ("Error en la conexion");

mysql_select_db("proyecto",$conexion);

$consulta=mysql_query("SELECT * FROM categorias",$conexion);

while(
$fila=mysql_fetch_row ($consulta)){
?>
<OPTION VALUE="<? echo $fila[0?>"><? echo $fila[1?></OPTION> 
<?
}
?>
</select>
<br>
Privada <select name="campo_privada">
<option value="0"> No </option>
<option value="1"> Si </option>
</select>
<br>
Imagen <input name="imagen" type="file" id="imagen">
  <br>

<input type="button" value="Insertar" onClick="validainser()">
</form>
<form action="" method="post" enctype="multipart/form-data" name="form1">
<input type="hidden" name="campo_titulo">
<input type="hidden" name="campo_noticia">
<input type="hidden" name="campo_fecha">
<input type="hidden" name="campo_codcat">

Cantidad Archivos: <select name="cantidad">
                    <script type="text/javascript">
                    for(x=1;x<=10;x++){
                    document.write("<option value="+ x +">"+ x+"</option>");
                    }
                    </script>
      </select>
      <input type="submit" name="Submit" value="Submit"><br>

<?php    
 $uploaddir
=$_SERVER['DOCUMENT_ROOT']."/upload/imagenes/";

if(isset(
$_POST['Submit'])){
    
?>
    <script languaje="JavaScript">    
    document.noticiainser.campo_titulo.value=document.form1.campo_titulo.value;
    </script>
    <?
        
echo "Elegir Archivos para Subir<br>";
            for(
$i=1;$i<=$_POST['cantidad'];++$i){
                echo 
"<input type=\"file\" name=\"archivo[]\"><br>";
            }
        echo 
"<input type=\"Submit\" name=\"Submit2\" value=\"Enviar\">";
        echo 
"<input type=\"hidden\" name=\"cant1\" value=\"$i\">";
    
?><script languaje="JavaScript">    
    document.noticiainser.campo_titulo.value= <? echo $_POST['campo_titulo'?>
    </script>
    <?
    
}
    
if(isset(
$_POST['Submit2'])){
        
$cantidad2 =count($_FILES["archivo"]);
        for (
$j=0;$j<=$cantidad2;$j++){
    
$archivo=$_FILES['arvhivo'][$j];
    
$nombrearchivo=$_FILES['archivo']['name'][$j];
    
$rutatmp=$_FILES['archivo']['tmp_name'][$j];
    
$nuevaruta="archivos/".$nombrearchivo;

                    
$x=$j
    
             do{
             
$x++;
                if( 
$archivo != "" ){
                        if(
is_uploaded_file($rutatmp)){
                if(
copy($rutatmp$nuevaruta)){
                echo 
"se ha guardado";
                }
                else{echo 
"no se ha guardado";}
            }
            else{
            echo 
"No ha cargado";
            }
                           
                           
                          
                           }
                        }while(
$x<$j);
             }
        }

?>
</form>
Al elegir un numero en el desplegable de los archivos y pulsar enviar, se borra el contenido de los otros campos, ¿como puedo hacer para que los campos no se queden en blanco teniendo en cuenta que el formulario de los archivos y los otros campos son dos formularios diferentes?

GRACIAS!

Etiquetas: hidden, select, campos
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 13:30.