Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sob

[Resolvido] somar campos

Recommended Posts

Tenho um formulário com 5 campos de valor + 1 de total.

Quero que esse campo de total (que será a soma dos 5 campos) exiba essa soma a medida que o usuário for preenchendo os campos. É possivel?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, usando o evento onKeyUp do JavaScript:

 

<script type="text/javascript">
function somar(){

campo1 = document.formulario.campo1.value; // PEGA VALORES DOS CAMPOS DO FORMULÁRIO COM NOME formulario
campo2 = document.formulario.campo2.value;
campo3 = document.formulario.campo3.value;
campo4 = document.formulario.campo4.value;
campo5 = document.formulario.campo5.value;

document.getElementById('total').innerHTML = (campo1 * 1)+(campo2 * 1)+(campo3 * 1)+(campo4 * 1)+(campo5 * 1); // EXECUTA A OPERAÇÃO MULTIPLICANDO CADA VALOR POR 1, PARA EVITAR CONCATENAÇÃO

}
</script>
<form name="formulario">
<input type="text" name="campo1" onKeyUp="somar()">
<input type="text" name="campo2" onKeyUp="somar()">
<input type="text" name="campo3" onKeyUp="somar()">
<input type="text" name="campo4" onKeyUp="somar()">
<input type="text" name="campo5" onKeyUp="somar()">
<br/></br><br/>
Total: <span id="total"></span>

Bom, código feito por mim XD Bem simples...

 

Falou!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eliseu,

 

Quando testei seu script tudo funcionou normalmente. Aí levei o código de JavaScript para o meu código e não consigo exibir o resultado.

 

As diferenças entre meu código e o seu:

 

Meus campos devalor estão em uma tabela e os nomes do campo estão em maiusculas como o código abaixo

 

<td><input type="text" name="VALOR3" onkeyup="somar()"></td>

 

Usei o seguinte código na função (colocada logo abaixo da tabela):

campo3 = document.forms.VALOR3.value;

 

O comando Total: <span id="total"></span> não funciona.

 

Reitero que colei seu código original na paete do body do PHP e tudo funcionou. Só quando fui ajustar para meu layout é que deu pau.

 

Se você tiver paciência e quiser olhar meu código todo, coloquei sua parte em negrito:

 

Antecipadamente agradeço a ajuda

 

 

<?php require_once('../../Connections/doctor.php'); ?>

<?php require_once('../../Connections/doctor.php'); ?>

<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")

{

$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

 

switch ($theType) {

case "text":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "long":

case "int":

$theValue = ($theValue != "") ? intval($theValue) : "NULL";

break;

case "double":

$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";

break;

case "date":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "defined":

$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;

break;

}

return $theValue;

}

 

$editFormAction = $_SERVER['PHP_SELF'];

if (isset($_SERVER['QUERY_STRING'])) {

$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);

}

 

 

 

 

 

 

?>

<?php require_once('../../Connections/doctor.php'); ?>

<?php

mysql_select_db($database_doctor, $doctor);

$query_LOC_PROCEDIMENTOS = "SELECT PROCEDIMENTOS_ID, DESCRICAO FROM procedimentos";

$LOC_PROCEDIMENTOS = mysql_query($query_LOC_PROCEDIMENTOS, $doctor) or die(mysql_error());

$row_LOC_PROCEDIMENTOS = mysql_fetch_assoc($LOC_PROCEDIMENTOS);

$totalRows_LOC_PROCEDIMENTOS = mysql_num_rows($LOC_PROCEDIMENTOS);

?>

<?php require_once('../../Connections/doctor.php'); ?>

<?php

$colname_LOC_PACIENTE = "-1";

if (isset($_GET['paciente_inf'])) {

$colname_LOC_PACIENTE = (get_magic_quotes_gpc()) ? $_GET['paciente_inf'] : addslashes($_GET['paciente_inf']);

}

mysql_select_db($database_doctor, $doctor);

$query_LOC_PACIENTE = sprintf("SELECT PACIENTE_ID, NOME FROM paciente WHERE PACIENTE_ID = %s", $colname_LOC_PACIENTE);

$LOC_PACIENTE = mysql_query($query_LOC_PACIENTE, $doctor) or die(mysql_error());

$row_LOC_PACIENTE = mysql_fetch_assoc($LOC_PACIENTE);

$totalRows_LOC_PACIENTE = mysql_num_rows($LOC_PACIENTE);

?>

<!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>Clinica Geller</title>

<link href="../css/doctor.css" rel="stylesheet" type="text/css" />

<link type="text/css" rel="stylesheet" href="dhtmlgoodies_calendar/dhtmlgoodies_calendar.css?random=20051112" media="screen"></LINK>

<script type="text/javascript" src="dhtmlgoodies_calendar/dhtmlgoodies_calendar.js?random=20060118"></script>

</head>

 

<body>

<form method="POST" name="forms" target="_self" action="" id="forms">

 

 

<form name="forms">

 

 

 

<table width="700" border="0">

<tr>

<td width="105">Data

<input name="DATAEVENTO" type="text" id="DATAEVENTO" size="10" /></td>

<td width="585"><input name="button" type="button" onclick="displayCalendar(document.forms[0].DATAEVENTO,'yyyy-mm-dd',this)" value="Calendário" src="../imagem/png/butao_120x20.png" />

</tr>

<tr>

<td>Cliente</td>

<td><?php echo $row_LOC_PACIENTE['NOME']; ?></td>

</tr>

</table>

<td>

</td>

<td>

 

<table width="700" border="0">

<tr>

<td width="180">Procedimento</td>

<td width="510">Valor</td>

</tr>

<tr>

<td> </td>

<td> </td>

</tr>

<tr>

<td><select name="CODIGOEVENTO1" id="CODIGOEVENTO1">

<option value="">Selecione</option>

<?php

do {

?>

<option value="<?php echo $row_LOC_PROCEDIMENTOS['PROCEDIMENTOS_ID']?>"><?php echo $row_LOC_PROCEDIMENTOS['DESCRICAO']?></option>

<?php

} while ($row_LOC_PROCEDIMENTOS = mysql_fetch_assoc($LOC_PROCEDIMENTOS));

$rows = mysql_num_rows($LOC_PROCEDIMENTOS);

if($rows > 0) {

mysql_data_seek($LOC_PROCEDIMENTOS, 0);

$row_LOC_PROCEDIMENTOS = mysql_fetch_assoc($LOC_PROCEDIMENTOS);

}

?>

</select></td>

<td><input type="text" name="VALOR1" onkeyup="somar()">

 

<span class="texto_vermelho_13_esquerda">

<input name="PACIENTE_ID" type="hidden" id="PACIENTE_ID" value="<?php echo $row_LOC_PACIENTE['PACIENTE_ID']; ?>" />

</span></td>

</tr>

<tr>

<td><select name="CODIGOEVENTO2" id="CODIGOEVENTO2">

<option value="">Selecione</option>

<?php

do {

?>

<option value="<?php echo $row_LOC_PROCEDIMENTOS['PROCEDIMENTOS_ID']?>"><?php echo $row_LOC_PROCEDIMENTOS['DESCRICAO']?></option>

<?php

} while ($row_LOC_PROCEDIMENTOS = mysql_fetch_assoc($LOC_PROCEDIMENTOS));

$rows = mysql_num_rows($LOC_PROCEDIMENTOS);

if($rows > 0) {

mysql_data_seek($LOC_PROCEDIMENTOS, 0);

$row_LOC_PROCEDIMENTOS = mysql_fetch_assoc($LOC_PROCEDIMENTOS);

}

?>

</select></td>

<td><input type="text" name="VALOR2" onkeyup="somar()"></td>

</tr>

<tr>

<td><select name="CODIGOEVENTO3" id="CODIGOEVENTO3">

<option value="">Selecione</option>

<?php

do {

?>

<option value="<?php echo $row_LOC_PROCEDIMENTOS['PROCEDIMENTOS_ID']?>"><?php echo $row_LOC_PROCEDIMENTOS['DESCRICAO']?></option>

<?php

} while ($row_LOC_PROCEDIMENTOS = mysql_fetch_assoc($LOC_PROCEDIMENTOS));

$rows = mysql_num_rows($LOC_PROCEDIMENTOS);

if($rows > 0) {

mysql_data_seek($LOC_PROCEDIMENTOS, 0);

$row_LOC_PROCEDIMENTOS = mysql_fetch_assoc($LOC_PROCEDIMENTOS);

}

?>

</select></td>

<td><input type="text" name="VALOR3" onkeyup="somar()"></td>

</tr>

<tr>

<td><select name="CODIGOEVENTO4" id="CODIGOEVENTO4">

<option value="">Selecione</option>

<?php

do {

?>

<option value="<?php echo $row_LOC_PROCEDIMENTOS['PROCEDIMENTOS_ID']?>"><?php echo $row_LOC_PROCEDIMENTOS['DESCRICAO']?></option>

<?php

} while ($row_LOC_PROCEDIMENTOS = mysql_fetch_assoc($LOC_PROCEDIMENTOS));

$rows = mysql_num_rows($LOC_PROCEDIMENTOS);

if($rows > 0) {

mysql_data_seek($LOC_PROCEDIMENTOS, 0);

$row_LOC_PROCEDIMENTOS = mysql_fetch_assoc($LOC_PROCEDIMENTOS);

}

?>

</select></td>

<td><input type="text" name="VALOR4" onkeyup="somar()"></td>

</tr>

<tr>

<td><select name="CODIGOEVENTO5" id="CODIGOEVENTO5">

<option value="">Selecione</option>

<?php

do {

?>

<option value="<?php echo $row_LOC_PROCEDIMENTOS['PROCEDIMENTOS_ID']?>"><?php echo $row_LOC_PROCEDIMENTOS['DESCRICAO']?></option>

<?php

} while ($row_LOC_PROCEDIMENTOS = mysql_fetch_assoc($LOC_PROCEDIMENTOS));

$rows = mysql_num_rows($LOC_PROCEDIMENTOS);

if($rows > 0) {

mysql_data_seek($LOC_PROCEDIMENTOS, 0);

$row_LOC_PROCEDIMENTOS = mysql_fetch_assoc($LOC_PROCEDIMENTOS);

}

?>

</select></td>

<td><input type="text" name="VALOR5" onkeyup="somar()"></td>

</tr>

<tr>

 

<td> </td>

<td>

</tr>

</table>

 

<script type="text/javascript">

function somar(){

 

campo1 = document.forms.VALOR1.value; // PEGA VALORES DOS CAMPOS DO FORMULÁRIO COM NOME forms

campo2 = document.forms.VALOR2.value;

campo3 = document.forms.VALOR3.value;

campo4 = document.forms.VALOR4.value;

campo5 = document.forms.VALOR5.value;

 

document.getElementById('total').innerHTML = (campo1 * 1)+(campo2 * 1)+(campo3 * 1)+(campo4 * 1)+(campo5 * 1); // EXECUTA A OPERAÇÃO MULTIPLICANDO CADA VALOR POR 1, PARA EVITAR CONCATENAÇÃO

total: <span id="total"></span>

}

</script>

<p> </p>

 

 

<input type="hidden" name="MM_insert" value="form1">

</form>

<script type="text/javascript">

function somar(){

 

campo1 = document.forms.VALOR1.value; // PEGA VALORES DOS CAMPOS DO FORMULÁRIO COM NOME forms

campo2 = document.forms.VALOR2.value;

campo3 = document.forms.VALOR3.value;

campo4 = document.forms.VALOR4.value;

campo5 = document.forms.VALOR5.value;

 

document.getElementById('total').innerHTML = (campo1 * 1)+(campo2 * 1)+(campo3 * 1)+(campo4 * 1)+(campo5 * 1); // EXECUTA A OPERAÇÃO MULTIPLICANDO CADA VALOR POR 1, PARA EVITAR CONCATENAÇÃO

total: <span id="total"></span>

 

}

</script>

</body>

</html>

<?php

mysql_free_result($LOC_PROCEDIMENTOS);

mysql_free_result($LOC_PACIENTE);

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.