Foros del Web » Programando para Internet » Javascript »

Concatenar dos campos del formulario y enviarlo en otro campo

Estas en el tema de Concatenar dos campos del formulario y enviarlo en otro campo en el foro de Javascript en Foros del Web. Hola a todos, necesito hacer lo siguiente: tengo un formulario con varios campos, dos de ellos serian CAMPO1 y CAMPO2 y son listas con valores ...
  #1 (permalink)  
Antiguo 25/09/2008, 04:04
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 5 meses
Puntos: 8
Concatenar dos campos del formulario y enviarlo en otro campo

Hola a todos, necesito hacer lo siguiente: tengo un formulario con varios campos, dos de ellos serian CAMPO1 y CAMPO2 y son listas con valores fijos. En el momento que el usuario le da al boton de Enviar, necesito que los valores de esos dos campos se concatenen y se envien en otro campo (oculto) llamado FINAL.

Es decir, si en el campo1 han elegido 123 y en el campo2 han elegido abc, en el momento de enviar el formulario, el valor del campo final debería ser 123abc.

No se si habría que hacerlo en el momento de darle al boton, que coja ambos valores, los asigne al campo y después envie el formulario, o si se puede hacer que cada vez que cambie la selección de una de las listas, automáticamente se asigne el nuevo valor al campo oculto.

Muchas gracias por adelantado, salu2
__________________
Vayamos por Partes :: Jack el Destripador
  #2 (permalink)  
Antiguo 25/09/2008, 08:38
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 15 años, 10 meses
Puntos: 5
Respuesta: Concatenar dos campos del formulario y enviarlo en otro campo

wenas angel_dope

tienes pues esta situacion,no?

Código HTML:
<form action="pagina.php" name="ejemplo">

      <input type="text" id="campo1" />
      <input type="text" id="campo2" />
      <input type="hidden" id="final" />
      
      <input type="submit" value="enviar"/>

</form> 
te creas este script

Código:
<script type="text/javascript">

function procesar() {

    campo1=document.getElementById('campo1').value;
    campo2=document.getElementById('campo2').value;

    final=campo1+campo2;

    document.getElementById('final').value=final;

    document.forms.ejemplo.submit();

}

</script>
ahora ya solo falta añadir al submit que capture en evento onClick para llamar al script que se ha creado

Código HTML:
 <input type="submit" value="enviar" onClick="javascript:procesar();"/> 
quedaria asi

Código HTML:
<script type="text/javascript">

function procesar() {

    campo1=document.getElementById('campo1').value;
    campo2=document.getElementById('campo2').value;

    final=campo1+campo2;

    document.getElementById('final').value=final;

    document.forms.ejemplo.submit();

}

</script>

<form action="pagina.php" name="ejemplo">

      <input type="text" id="campo1" />
      <input type="text" id="campo2" />
      <input type="hidden" id="final" />
      
       <input type="submit" value="enviar" onClick="javascript:procesar();"/>

</form> 
  #3 (permalink)  
Antiguo 26/09/2008, 00:12
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 5 meses
Puntos: 8
Respuesta: Concatenar dos campos del formulario y enviarlo en otro campo

Ok, muchas gracias Matak ;)
__________________
Vayamos por Partes :: Jack el Destripador
  #4 (permalink)  
Antiguo 11/11/2008, 09:46
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 17 años
Puntos: 0
Respuesta: Concatenar dos campos del formulario y enviarlo en otro campo

yo necesitaba lo mismo y siguiendo este ejemplo lo he consegido concatenar, lo he contatenado de forma que es FINAL=CAMPO1+'*'+CAMPO2, utilizando un asterisco para separarlo.
pero ahora quiero el caso inverso....que con FINAL como origen en el CAMPO1 me coja lo que hay antes del asterisco y en el campo2 lo que hay despues, como lo consigo?
He intentado con la funcion strlen pero no lo consigo, alguien me ayuda? gracias, un saludo.
  #5 (permalink)  
Antiguo 11/11/2008, 09:51
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 5 meses
Puntos: 8
Respuesta: Concatenar dos campos del formulario y enviarlo en otro campo

No estoy seguro pero supongo que habra alguna función donde le puedes especificar que te separe una cadena pasándole el caracter por donde debe partir. En asp esa función es split y sería algo asi como

Código PHP:
campos split(final,"*"
campo1 campos(0
Esto lo que hace es partir la cadena final cada vez que encuentra un asterisco e ir metiendolo en un vector llamado campos, después solo tendrias que acceder a campos(0) (que es la primera posición del vector) para acceder a la primera cadena.

Lo dicho, esto sería en asp, pero probablemente en javascript hay alguna función que haga lo mismo, solo falta averiguar cual es ;) a ver si nos lo puede decir alguien de los que controla más este mundillo.

Salu2
__________________
Vayamos por Partes :: Jack el Destripador
  #6 (permalink)  
Antiguo 11/11/2008, 10:12
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 17 años
Puntos: 0
Respuesta: Concatenar dos campos del formulario y enviarlo en otro campo

muchas gracias! por la ayuda y la rapidez, yo había probado con 'strpbrk' pero no lo consegui, probaré con split, y te cuento gracias!!
  #7 (permalink)  
Antiguo 25/04/2012, 11:15
 
Fecha de Ingreso: febrero-2012
Mensajes: 9
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Concatenar dos campos del formulario y enviarlo en otro campo

hola yo tengo un problema parecido tengo dos campos uno entero y otro varchar quiero que se concatenarlos para darle un valor a otro campo el problema es que el campo entero es autoincrement es decir el la llave primaria de mi base de datos y esta en un campo hidden al subir el formulario a la base de datos solo me deja ver un campo el otro no este es mi codigo

CREATE TABLE `tbl_proyecto` (
`pro_id` int(25) NOT NULL auto_increment,
`pro_or` varchar(11) NOT NULL,
`pro_co` varchar(255) NOT NULL,
`pro_nom` varchar(1000) NOT NULL,
`pro_usu` int(11) NOT NULL,
`pro_estado` varchar(125) NOT NULL,
`fe_ini` date NOT NULL,
`fe_fin` date NOT NULL,
`fe_mod` date NOT NULL,
`pro_ob` longtext NOT NULL,
PRIMARY KEY (`pro_id`,`pro_or`),
KEY `pro_usu` (`pro_usu`),
KEY `pro_or` (`pro_or`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=16 ;

<td><strong>Origen</strong></td>

<td><select name="pro_or" id="txt_input" onkeyup="calctotal()">
<option selected="selected">Seleccione..</option>
<?php
include '../../configuracion/abrir_conx.php';
$sqllist = "SELECT * FROM tbl_origen ";
$rsl = mysql_query($sqllist, $con);
while ($row= mysql_fetch_array($rsl))
{
echo "<option value='$row[id_origen]'>
$row[nom_or]
</option>";
}
include '../../configuracion/cerrar_conx.php';
?>
</select></td>
</tr>
<tr class="odd">
<td><strong>Nombre Completo:</strong></td>
<td><input type="text" name="pro_nom" id="txtinput" class="required"></td>
</tr>
<tr>
<td><strong>Responsable:</strong></td>
<td><select name="pro_usu" id="txt_input" >
<option selected="selected">Seleccione..</option>
<?php
include '../../configuracion/abrir_conx.php';
$sqllist = "SELECT * FROM tbl_usuarios ";
$rsl = mysql_query($sqllist, $con);
while ($row= mysql_fetch_array($rsl))
{
echo "<option value='$row[usu_id]'>
$row[usu_nombre]
</option>";
}
include '../../configuracion/cerrar_conx.php';
?>
</select></td>
</tr>
<tr class="odd">
<td><strong>Estado:</strong></td>
<td><select name="pro_estado" id="opciones" class="required">
<option value="0">Seleccione una categoria...</option>
<option value="1">Sin Iniciar</option>
<option value="2">Completado</option>
<option value="3">En Curso</option>

</select></td>
</tr>

<tr>

<td><strong>Fecha de inicio:</strong></td>
<td><input type="text" name="fe_ini" id="date" width="270px" class=" required "></td>

</tr>
<tr class="odd">
<td><strong>Fecha de finalizacion:</strong></td>
<td> <input type="text" name="fe_fin" id="datepicker" class=" required "></td>
</tr>
<tr>
<td><strong>Observaciones:</strong></td>
<td> <textarea rows="9" cols="75" name="pro_op"> </textarea></td>
<tr>
</tr>
</tbody>
<tfoot>
<td colspan="2" id="nobgcolor">
<input type="hidden" name="fe_mod" value="<?php echo date( 'Y-m-d');?>"/>
<input type="hidden" name="pro_id" id="txtinput" onKeyUp="calctotal()" />
<input type="hidden" name="pro_co" id="txtinput" />
<input type="submit" name="btnAdd" value="Adicionar" id="btn" onClick="javascript:procesar();">
<input type="reset" name="btnReset" value="Restablecer" id="btn" class="btn_clean">
<input type="button" name="btnBack" value="Cancelar" id="btnback" class="btn">
</td>
</tfoot>
</table>
</form>


<?php
if($_POST)
{



$pro_id = $_POST['pro_id'];
$pro_or = $_POST['pro_or'];
$pro_co = $pro_or ."". $pro_id;//aca concateno los datos
$pro_nom = $_POST['pro_nom'];
$pro_usu = $_POST['pro_usu'];
$pro_estado = $_POST['pro_estado'];

$fe_ini= $_POST['fe_ini'];
$fe_fin = $_POST['fe_fin'];
$pro_op= $_POST['pro_op'];
$fe_mod=$_POST['fe_mod'];


include '../../configuracion/abrir_conx.php';

$sqli = "INSERT INTO tbl_proyectosmejora VALUES( null,'$pro_or','$pro_co', '$pro_nom', $pro_usu, '$pro_estado', '$fe_ini', '$fe_fin', '$fe_mod' ,'$pro_op' )";


if (!mysql_query($sqli,$con) )
{
die('Error: ' . mysql_error());
}

else
{
echo "<script>";
echo "alert('Proyecto adicionado con exito con Exito');";
echo "window.location.replace('index.php');";
echo "</script>";
}

include '../../includes/cerrar_conx.php';
}
?>

de antemano gracias por su tiempo
  #8 (permalink)  
Antiguo 25/04/2012, 11:16
 
Fecha de Ingreso: febrero-2012
Mensajes: 9
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Concatenar dos campos del formulario y enviarlo en otro campo

Cita:
Iniciado por amvasquez7 Ver Mensaje
hola yo tengo un problema parecido tengo dos campos uno entero y otro varchar quiero que se concatenarlos para darle un valor a otro campo el problema es que el campo entero es autoincrement es decir el la llave primaria de mi base de datos y esta en un campo hidden al subir el formulario a la base de datos solo me deja ver un campo el otro no este es mi codigo

CREATE TABLE `tbl_proyecto` (
`pro_id` int(25) NOT NULL auto_increment,
`pro_or` varchar(11) NOT NULL,
`pro_co` varchar(255) NOT NULL,
`pro_nom` varchar(1000) NOT NULL,
`pro_usu` int(11) NOT NULL,
`pro_estado` varchar(125) NOT NULL,
`fe_ini` date NOT NULL,
`fe_fin` date NOT NULL,
`fe_mod` date NOT NULL,
`pro_ob` longtext NOT NULL,
PRIMARY KEY (`pro_id`,`pro_or`),
KEY `pro_usu` (`pro_usu`),
KEY `pro_or` (`pro_or`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=16 ;

<td><strong>Origen</strong></td>

<td><select name="pro_or" id="txt_input" onkeyup="calctotal()">
<option selected="selected">Seleccione..</option>
<?php
include '../../configuracion/abrir_conx.php';
$sqllist = "SELECT * FROM tbl_origen ";
$rsl = mysql_query($sqllist, $con);
while ($row= mysql_fetch_array($rsl))
{
echo "<option value='$row[id_origen]'>
$row[nom_or]
</option>";
}
include '../../configuracion/cerrar_conx.php';
?>
</select></td>
</tr>
<tr class="odd">
<td><strong>Nombre Completo:</strong></td>
<td><input type="text" name="pro_nom" id="txtinput" class="required"></td>
</tr>
<tr>
<td><strong>Responsable:</strong></td>
<td><select name="pro_usu" id="txt_input" >
<option selected="selected">Seleccione..</option>
<?php
include '../../configuracion/abrir_conx.php';
$sqllist = "SELECT * FROM tbl_usuarios ";
$rsl = mysql_query($sqllist, $con);
while ($row= mysql_fetch_array($rsl))
{
echo "<option value='$row[usu_id]'>
$row[usu_nombre]
</option>";
}
include '../../configuracion/cerrar_conx.php';
?>
</select></td>
</tr>
<tr class="odd">
<td><strong>Estado:</strong></td>
<td><select name="pro_estado" id="opciones" class="required">
<option value="0">Seleccione una categoria...</option>
<option value="1">Sin Iniciar</option>
<option value="2">Completado</option>
<option value="3">En Curso</option>

</select></td>
</tr>

<tr>

<td><strong>Fecha de inicio:</strong></td>
<td><input type="text" name="fe_ini" id="date" width="270px" class=" required "></td>

</tr>
<tr class="odd">
<td><strong>Fecha de finalizacion:</strong></td>
<td> <input type="text" name="fe_fin" id="datepicker" class=" required "></td>
</tr>
<tr>
<td><strong>Observaciones:</strong></td>
<td> <textarea rows="9" cols="75" name="pro_op"> </textarea></td>
<tr>
</tr>
</tbody>
<tfoot>
<td colspan="2" id="nobgcolor">
<input type="hidden" name="fe_mod" value="<?php echo date( 'Y-m-d');?>"/>
<input type="hidden" name="pro_id" id="txtinput" onKeyUp="calctotal()" />
<input type="hidden" name="pro_co" id="txtinput" />
<input type="submit" name="btnAdd" value="Adicionar" id="btn" onClick="javascript:procesar();">
<input type="reset" name="btnReset" value="Restablecer" id="btn" class="btn_clean">
<input type="button" name="btnBack" value="Cancelar" id="btnback" class="btn">
</td>
</tfoot>
</table>
</form>


<?php
if($_POST)
{



$pro_id = $_POST['pro_id'];
$pro_or = $_POST['pro_or'];
$pro_co = $pro_or ."". $pro_id;//aca concateno los datos
$pro_nom = $_POST['pro_nom'];
$pro_usu = $_POST['pro_usu'];
$pro_estado = $_POST['pro_estado'];

$fe_ini= $_POST['fe_ini'];
$fe_fin = $_POST['fe_fin'];
$pro_op= $_POST['pro_op'];
$fe_mod=$_POST['fe_mod'];


include '../../configuracion/abrir_conx.php';

$sqli = "INSERT INTO tbl_proyectosmejora VALUES( null,'$pro_or','$pro_co', '$pro_nom', $pro_usu, '$pro_estado', '$fe_ini', '$fe_fin', '$fe_mod' ,'$pro_op' )";


if (!mysql_query($sqli,$con) )
{
die('Error: ' . mysql_error());
}

else
{
echo "<script>";
echo "alert('Proyecto adicionado con exito con Exito');";
echo "window.location.replace('index.php');";
echo "</script>";
}

include '../../includes/cerrar_conx.php';
}
?>

de antemano gracias por su tiempo
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 02:20.