Aí, galera, eu de novo! Por favor me auxiliem nesse caso:
Estou com um problema que é o seguinte: estou fazendo um protótipo de um site de comércio em jsp. Confesso que nunca fiz um. Depois de ler bastante, iniciei este ( é só um protótipo mesmo, que se funcionar direitinho, aí eu vou colocandos as funcionalidades que eu imaginei.) No momento, eu tenho a página “index.jsp”, inicial, que tem uma validação em java script e conforme o preenchimento do formulário, por exemplo, selecionou um produto mas não digitou a quantidade, o programa manda um ‘alert’.
Se selecionou o par aí eu quero que vá para uma pagina de cálculo (“PagCalc.jsp”).
O problema tá aí. Já coloquei response.sendRedirect(“PagCalc.jsp”), mas não vai (Não abre a página ‘PagCalc.jsp’. Com ‘window.location’, também não vai. Queria saber o que está errado no meu código, pois além disso, quando clico no botão ‘Calcular’, além de não ir, limpa os campos já preenchidos.
O mesmo acontece com os ‘alert’s’-> quando clico prá fechar a janela popup o campo que estava selecionado, deseleciona, ou o input no qual havia um número, limpa. O que estou fazendo errado ou deixando de fazer?
Obrigado por qualquer ajuda.
Segue o codigo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>index</title>
<script type="text/javascript">
function validaForm(form)
{
var a = 0;
var b = 0;
if (document.getElementById("quantcox").value.length < 1)
{
a++;
}
if(form.select_cox.checked==false)
{
a++;
}
if (document.getElementById("quantbq").value.length < 1)
{
b++;
}
if(form.select_bq.checked==false)
{
b++;
}
if (a == 1)
{
if(form.select_cox.checked==false){
//É mostrado um alerta, caso o campo esteja vazio.
alert("Por favor, selecione coxinhas!.");
//o form não é enviado.
return false;
} else {
if (document.getElementById("quantcox").value.length < 1) {
//É mostrado um alerta, caso o campo esteja vazio.
alert("Por favor, digite quantidade de coxinhas!.");
//Foi definido um focus no campo.
form.quant_cox.focus();
//o form não é enviado.
return false;
}
}
}
if (b == 1)
{
if(form.select_bq.checked==false)
{
//É mostrado um alerta, caso o campo esteja vazio.
alert("Por favor, selecione bolinho de queijo!.");
return false;
} else {
if (document.getElementById("quantbq").value.length < 1) {
//É mostrado um alerta, caso o campo esteja vazio.
alert("Por favor, digite quantidade de bolinho de queijo!.");
//Foi definido um focus no campo.
form.quantbq.focus();
//o form não é enviado.
return false;
}
}
}
if (a == 2 && b == 0) {
response.sendRedirect("PagCalc.jsp");
//window.location="PagCalc.jsp";
}
}
</script>
</head>
<body bgcolor="yellow">
<p>
<form name="ecom" action="" method="post"
onsubmit="return validaForm(this);">
<table width="50%">
<tr>
<td colspan="2" bgcolor="#00FFFF" style="text-align: center;">
ESCOLHA O PRODUTO E DIGITE A QUANTIDADE:</td>
</tr>
<tr>
<td bgcolor="#7CFC00" style="text-align: center;">Produto:</td>
<td bgcolor="#7CFC00" style="text-align: center;">Quantidade:</td>
</tr>
<tr>
<td bgcolor="#FFDAB9" align="left"><input type="checkbox"
name="select_cox" id="selcox"></input> Coxinha</td>
<td align="right" bgcolor="#FFDAB9"><input type=text
name="quant_cox" id="quantcox" size="3" style="text-align: center"></input></td>
</tr>
<tr>
<td bgcolor="#00FFFF" align="left"><input type="checkbox"
name="select_bq" id="selbq"></input> Bolinho de queijo</td>
<td align="right" bgcolor="#00FFFF"><input type=text
name="quant_bq" id="quantbq" size="3" style="text-align: center"></input></td>
</tr>
<tr>
<td colspan="2" align="center" bgcolor="#F4A460"><input
type="submit" value="Calcular"></input></td>
</tr>
</table>
</form>
</body>
</html>
Página de cálculo
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>PagCalc</title>
</head>
<body bgcolor="yellow">
<p>
<form action="" method="post">
<table width="50%">
<tr>
<td colspan="5" bgcolor="#7CFC00" style="text-align: center;">
CÁLCULO TOTAL DO PEDIDO:</td>
</tr>
<tr>
<td bgcolor="#00FFFF" align="center">Ordem</td>
<td bgcolor="#00FFFF" align="center">Item</td>
<td bgcolor="#00FFFF" align="center">Quantidade</td>
<td bgcolor="#00FFFF" align="center">Valor unit. R$</td>
<td bgcolor="#00FFFF" align="center">Sub-Total: R$</td>
</tr>
<tr>
<td bgcolor="#F4A460" align="center">1</td>
<td bgcolor="#F4A460" align="center">Coxinha:</td>
<td align="center" bgcolor="#F4A460">
<%
String qc = String.valueOf(""+session.getAttribute("quant_cox"));
if(qc == null || qc.equals("")){
qc ="0";
}
int quantCox = Integer.parseInt(""+qc);
double subTotCox = quantCox * 0.50;
%> <%= quantCox %>
</td>
<td bgcolor="#F4A460" align="center">0.50</td>
<td bgcolor="#F4A460" align="center"><%= subTotCox %></td>
</tr>
<tr>
<td bgcolor="#FFDAB9" align="center">2</td>
<td bgcolor="#FFDAB9" align="center">Bolinho de queijo:</td>
<td align="center" bgcolor="#FFDAB9">
<%
String quantBq = String.valueOf(""+session.getAttribute("quant_bq"));
if(quantBq == null || quantBq.equals("")){
quantBq ="0";
}
int qBq = Integer.parseInt(""+quantBq);
double subTotBq = qBq * 0.50;
%> <%= qBq %>
</td>
<td bgcolor="#FFDAB9" align="center">0.50</td>
<td bgcolor="#FFDAB9" align="center"><%= subTotBq %></td>
</tr>
<tr>
<td colspan="3" bgcolor="#DCDCDC" align="center"></td>
<td bgcolor="#DCDCDC" " align="center">Total Geral R$:</td>
<td bgcolor="#DCDCDC" align="center">
<% double valTotal = subTotCox + subTotBq; %> <%= valTotal %>
</td>
</tr>
<tr>
<td colspan="5" align="center" bgcolor="#7CFC00"><input
type="submit" value="Finalizar pedido" /></td>
</tr>
</table>
</form>
</body>
</html>