Como mostrar un valor en 2 campos?

Necesito la ayuda de un experto en PHP.

Estoy haciendo un formulario y tengo 2 variables

Precio y Monto

precio es el costo de un producto y el monto es el porcentaje que debe pagar de ese precio en este caso un 20%.

Necesito que cuando introduzca un numero en el campo precio instantáneamente se muestre el 20% de el precio en el campo monto.

Este es el formulario

http://www.sajefashion.com/encargos/prueba.php

y ahí aparecen los campos que menciono.

este es el código

<?php
//proceso del formulario
// si existe "enviar"...
if (isset ($_POST['enviar'])) {
//recogemos las variables
$nombre=$_POST['nombre'];
$apellido=$_POST['apellido'];
$email=$_POST['email'];
$código=$_POST['código'];
$monto=$_POST['monto'];
$banco=$_POST['banco'];
$referencia=$_POST['referencia'];
$comprobante=$_POST['comprobante'];
$comentario=$_POST['comentario'];
//comprobamos si todos los campos fueron completados
if ($nombre!='' && $apellido!='' && $email!='' && $código!='' && $monto!='' && $banco!='' && $referencia!='' && $comentario!='') {
// si es asi armamos el html
$contenido = '<html><body>';
$contenido .= '<h2>Nuevo Encargo</h2>';
$contenido .= '<p>Enviado el '. Date("d M Y").'</p>';
$contenido .= '<hr />';
$contenido .= '<p>Nombre: <strong>'.$nombre.'</strong>';
$contenido .= '<p>Apellido: <strong>'.$apellido.'</strong>';
$contenido .= '<p>Email: <strong>'.$email.'</strong>';
$contenido .= '<p>Codigo(s): <strong>'.$código.'</strong>';
$contenido .= '<p>Monto: <strong>'.$monto.' BsF. </strong>';
$contenido .= '<p>Banco: <strong>'.$banco.'</strong>';
$contenido .= '<p>Nro. Deposito o Transferencia: <strong>'.$referencia.'</strong>';
$contenido .= '<p>Comprobante de Pago: <strong>'.$comprobante.'</strong>';
$contenido .= '<p>Comentario: <strong>'.$comentario.'</strong>';
$contenido .= '<hr />';
$contenido .= '</body></html>';
// si todos los campos fueron completados enviamos el mail
mail ("[email protected]", "Referencia $referencia", $contenido, "From: $email\nContent-Type: text/html; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit");
$flag='ok';
$mensaje='<div id="ok">Gracias por tu solicitud, en un lapso no mayor a 24 horas hábiles nos comunicaremos contigo. <br />
<br />
<br />
<a href="http://sajefashion.com">Finalizar</a></div>';
} else {
//si no todos los campos fueron completados se frena el envio y avisamos al usuario
$flag='err';
$mensaje='<div id="error">Todos Los Campos Son Requeridos</div>';
}
}
?>
<!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=utf-8" />
<title>Sa&Je</title>
<style>
body {
font: 1em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;
background-image: url(http://sajefashion.com/encargos/imagen_formulario2.2.jpg);
background-repeat: no-repeat;
background-color: black;
}
#form {
border: 3px double #eaeaea;
background-color: #fafafa;
padding: 10px;
width: 400px;
margin: auto;}
#form h2{
font-size: 1.5em;
margin: 0 0 1em 0;
padding: 0 0 0.5em 0;}
#form .campo {
border: 1px solid #999;
padding: 0.3em;
font-size: 1.2em;}
#form .error {
border: 1px solid #F00;
padding: 0.3em;
font-size: 1.2em;}
#form .com {
border: 1px solid #999;
padding: 0.3em;
font-size: 1.2em;
width:20em;
height: 10em;
font: 1em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;}
#form .com-error {
border: 1px solid #F00;
padding: 0.3em;
font-size: 1.2em;
width:20em;
height: 10em;
font: 1em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;}
#form .boton {
border: 2px solid #999;
padding: 0.3em;
font-size: 1.2em;
width: 4em;}
#error {
border: 1px dashed #F00;
background-color: #FFF;
padding: 5px;}
#ok {
border: 1px dashed #060;
background-color:#FFF;
padding: 5px;}
</style>
</head>
<body>
<div id="form">
<h2 align="center">Nuevo Encargo</h2>
<? Echo $mensaje; /*mostramos el estado de envio del form */ ?>
<? If ($flag!='ok') { ?>
<form action="nuevo.php" method="post" enctype="multipart/form-data">
<p>Nombre*
<input <? If (isset ($flag) && $_POST['nombre']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> type="text" name="nombre" value="<? Echo $_POST['nombre'];?>" />
</p>
<p>Apellido*
<input name="apellido" type="text" id="apellido" value="<? Echo $_POST['apellido'];?>" <? If (isset ($flag) && $_POST['apellido']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> />
<br />
</p>
<p>Email*
<input <? If (isset ($flag) && $_POST['email']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> type="text" name="email" value="<? Echo $_POST['email'];?>" />
</p>
<p>Codigo(s) Productos*
<input name="código" type="text" id="código" value="<? Echo $_POST['código'];?>" <? If (isset ($flag) && $_POST['código']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> />
</p>
<p>Monto*
<input name="monto" type="text" id="monto" value="<? Echo $_POST['monto'];?>" <? If (isset ($flag) && $_POST['monto']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> />
</p>
<p>Banco*
<label for="banco"></label>
<select name="banco" id="banco">
<option value=" ">--...

1 Respuesta

Respuesta
1

Dinámicamente no se puede hacer con php, debes hacerlo con javascript

Agrega a la etiqueta precio lo siguiente (aunque el campo llamado precio lo vi en la url que dejaste por que en tu código no lo veo):

onChange="document.getElementById('monto').value = (document.getElementById('precio').value * 0.20);"

Para agregar nuevos campos, también es javascript... te hice un ejemple sencillo para que lo modifiques a gusto...

Insértalo todo junto donde quieres agregar el campo

<script language="javascript">
function agregarNuevo(){
document.getElementById('nuevoscampos').innerHTML += "<input type=\"text\" name=\"nuevocampo\" id=\"nuevocampo\"><br />";

}
</script>
<div id="nuevoscampos">
</div>
<p><a onClick="agregarNuevo();" href="#">agregar</a></p>

Hermano si me funciona la de agregar, pero me falto pedir que también de la opción de eliminar ese nuevo campo si me ayudas con ese te lo agradezco.

Y si no note que no puse el código de PRECIO

y la verdad es que no se donde colocarlo ya que no se mucho de programación solo he hecho esto a punta de dreamweaver y leyendo de google.

<p>Precio Producto*
<input name="precio" type="text" id="precio" value="<? echo $_POST['precio'];?>" <? if (isset ($flag) && $_POST['precio']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> />
</p>
<p>Monto a Depositar(20%)*
<input name="monto" type="text" id="monto" value="$monto = $precio * 20%" readonly="readonly" <? if (isset ($flag) && $_POST['monto']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> />
</p>

Ok este la parte de el código que me dices podrías pegar lo que me dijiste?? como te dije lo que necesito es que cuando coloquen un numero(precio) aparezca en el campo monto el 20% de ese precio instantáneamente para que el visitante pueda ver lo que pagará de inicial y por supuesto ese monto también se me envíe a mi por medio de el formulario.

Agradezco mucho tu Ayuda.

Aquí esta completo con eliminar campo...

espero te sirva...

¿

<?php
//proceso del formulario
// si existe "enviar"...
if (isset ($_POST['enviar'])) {
//recogemos las variables
$nombre=$_POST['nombre'];
$apellido=$_POST['apellido'];
$email=$_POST['email'];
$código=$_POST['código'];
$monto=$_POST['monto'];
$banco=$_POST['banco'];
$referencia=$_POST['referencia'];
$comprobante=$_POST['comprobante'];
$comentario=$_POST['comentario'];
//comprobamos si todos los campos fueron completados
if ($nombre!='' && $apellido!='' && $email!='' && $código!='' && $monto!='' && $banco!='' && $referencia!='' && $comentario!='') {
// si es asi armamos el html
$contenido = '<html><body>';
$contenido .= '<h2>Nuevo Encargo</h2>';
$contenido .= '<p>Enviado el '. date("d M Y").'</p>';
$contenido .= '<hr />';
$contenido .= '<p>Nombre: <strong>'.$nombre.'</strong>';
$contenido .= '<p>Apellido: <strong>'.$apellido.'</strong>';
$contenido .= '<p>Email: <strong>'.$email.'</strong>';
$contenido .= '<p>Codigo(s): <strong>'.$código.'</strong>';
$contenido .= '<p>Monto: <strong>'.$monto.' BsF. </strong>';
$contenido .= '<p>Banco: <strong>'.$banco.'</strong>';
$contenido .= '<p>Nro. Deposito o Transferencia: <strong>'.$referencia.'</strong>';
$contenido .= '<p>Comprobante de Pago: <strong>'.$comprobante.'</strong>';
$contenido .= '<p>Comentario: <strong>'.$comentario.'</strong>';
$contenido .= '<hr />';
$contenido .= '</body></html>';
// si todos los campos fueron completados enviamos el mail
mail ("[email protected]", "Referencia $referencia", $contenido, "From: $email\nContent-Type: text/html; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit");
$flag='ok';
$mensaje='<div id="ok">Gracias por tu solicitud, en un lapso no mayor a 24 horas hábiles nos comunicaremos contigo. <br />
<br />
<br />
<a href="http://sajefashion.com">Finalizar</a></div>';
} else {
//si no todos los campos fueron completados se frena el envio y avisamos al usuario
$flag='err';
$mensaje='<div id="error">Todos Los Campos Son Requeridos</div>';
}
}
?>
<!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=utf-8" />
<title>Sa&Je</title>
<style>
body {
font: 1em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;
background-image: url(http://sajefashion.com/encargos/imagen_formulario2.2.jpg);
background-repeat: no-repeat;
background-color: black;
}
#form {
border: 3px double #eaeaea;
background-color: #fafafa;
padding: 10px;
width: 400px;
margin: auto;}
#form h2{
font-size: 1.5em;
margin: 0 0 1em 0;
padding: 0 0 0.5em 0;}
#form .campo {
border: 1px solid #999;
padding: 0.3em;
font-size: 1.2em;}
#form .error {
border: 1px solid #F00;
padding: 0.3em;
font-size: 1.2em;}
#form .com {
border: 1px solid #999;
padding: 0.3em;
font-size: 1.2em;
width:20em;
height: 10em;
font: 1em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;}
#form .com-error {
border: 1px solid #F00;
padding: 0.3em;
font-size: 1.2em;
width:20em;
height: 10em;
font: 1em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;}
#form .boton {
border: 2px solid #999;
padding: 0.3em;
font-size: 1.2em;
width: 4em;}
#error {
border: 1px dashed #F00;
background-color: #FFF;
padding: 5px;}
#ok {
border: 1px dashed #060;
background-color:#FFF;
padding: 5px;}
</style>
</head>
<body>
<div id="form">
<h2 align="center">Nuevo Encargo</h2>
<? echo $mensaje; /*mostramos el estado de envio del form */ ?>
<? if ($flag!='ok') { ?>
<form action="nuevo.php" method="post" enctype="multipart/form-data">
<p>Nombre*
<input <? if (isset ($flag) && $_POST['nombre']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> type="text" name="nombre" value="<? echo $_POST['nombre'];?>" />
</p>
<p>Apellido*
<input name="apellido" type="text" id="apellido" value="<? echo $_POST['apellido'];?>" <? if (isset ($flag) && $_POST['apellido']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> />
<br />
</p>
<p>Email*
<input <? if (isset ($flag) && $_POST['email']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> type="text" name="email" value="<? echo $_POST['email'];?>" />
</p>
<p>Codigo(s) Productos*<br />
<input name="código" type="text" id="código" value="<? echo $_POST['código'];?>" <? if (isset ($flag) && $_POST['código']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> />
<script language="javascript">
var CCont = 0;
function agregarNuevo(){
CCont ++;
document.getElementById('nuevoscampos').innerHTML += "<input type=\"text\" name=\"código\" id=\"código"+CCont+"\" <? if (isset ($flag) && $_POST['código']=='') { echo 'class="error"';} else {echo 'class=\"campo\"';} ?>>";
document.getElementById('nuevoscampos').innerHTML += "<a id=\"acod"+CCont+"\" onClick=\"quitarCampo("+CCont+");\" href=\"#\"> - Eliminar</a><br id=\"brcod"+CCont+"\" />";
}
function quitarCampo(id){
document.getElementById('código'+id).parentNode.removeChild(document.getElementById('código'+id));
document.getElementById('acod'+id).parentNode.removeChild(document.getElementById('acod'+id));
document.getElementById('brcod'+id).parentNode.removeChild(document.getElementById('brcod'+id));
}
</script>
<div id="nuevoscampos">
</div>
<p><a onClick="agregarNuevo();" href="#">agregar</a></p>
</p>
<p>Precio Producto*
<input name="precio" type="text" id="precio" value="<? echo $_POST['precio'];?>" <? if (isset ($flag) && $_POST['precio']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> onchange="document.getElementById('monto').value = (document.getElementById('precio').value * 0.20);"/>
</p>
<p>Monto a Depositar(20%)*
<input name="monto" type="text" id="monto" value="0" readonly="readonly" <? if (isset ($flag) && $_POST['monto']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> />
</p>
<p>Banco*
<label for="banco"></label>
<select name="banco" id="banco">
<option value=" ">-- Selecione -- </option>
<option value="BANESCO">BANESCO</option>
<option value="100%BANCO">100%BANCO</option>
<option value="BANK">ABN AMRO BANK</option>
<option value="ACTIVO BANCO">BANCO ACTIVO BANCO COMERCIAL, C.A.</option>
<option value="AGRICOLA">BANCO AGRICOLA</option>
<option value="BICENTENARIO">BANCO BICENTENARIO</option>
<option value="CARONI">BANCO CARONI.</option>
<option value="VENEZUELA">BANCO DE VENEZUELA S.A.I.C.A.</option>
<option value="CARIBE">BANCO DEL CARIBE C.A.</option>
<option value="SOBERANO">BANCO DEL PUEBLO SOBERANO C.A.</option>
<option value="TESORO">BANCO DEL TESORO</option>
<option value="EXTERIOR">BANCO EXTERIOR C.A.</option>
<option value="GUAYANA">BANCO GUAYANA</option>
<option value="MERCANTIL">BANCO MERCANTIL C.A.</option>
<option value="PLAZA">BANCO PLAZA</option>
<option value="PROVINCIAL">BANCO PROVINCIAL BBVA</option>
<option value="BANCO VENEZOLANO DE CREDITO">BANCO VENEZOLANO DE CREDITO S.A.</option>
<option value="BANGENTE">BANGENTE</option>
<option value="BANPLUS BANCO COMERCIAL">BANPLUS BANCO COMERCIAL C.A</option>
<option value="CITIBANK">CITIBANK.</option>
<option value="CORP BANCA">CORP BANCA.</option>
<option value="DELSUR BANCO UNIVERSAL">DELSUR BANCO UNIVERSAL</option>
<option value="FONDO COMUN">FONDO COMUN</option>
<option value="MIBANCO BANCO DE DESARROLLO">MIBANCO BANCO DE DESARROLLO, C.A.</option>
<option value="SOFITASA">SOFITASA</option>
</select>
</p>
<p>Nro. Deposito o Transferencia*
<input name="referencia" type="text" id="referencia" value="<? echo $_POST['referencia'];?>" <? if (isset ($flag) && $_POST['referencia']=='') { echo 'class="error"';} else {echo 'class="campo"';} ?> />
</p>
<p>Comprobante de Pago*
<label for="comprobante"></label>
<input type="file" name="comprobante" id="comprobante" />
<br />
</p>
<p>Comentario* <br />
<textarea <? if (isset ($flag) && $_POST['comentario']=='') { echo 'class="com-error"';} else {echo 'class="com"';} ?> name="comentario"><? echo $_POST['comentario'];?></textarea></p>
<p align="center">
<input name="borrar" type="reset" class="boton" id="borrar" value="Borrar" /> &nbsp;
<input class="boton" type="submit" name="enviar" value="Enviar" /></p>
</form>
<? } ?>
</div> <!-- end form-->
</body>
</html>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas