Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera boa tarde...
é o seguinte, to desenvolvendo um sistema de Pedido de venda on-line
Eu fiz uma validação no form, pra ver se todos os campos foram preenchidos, ta funcionando que é uma beleza.
Ai me deparei com o seguinte, se o usuário precisar cancelar esse pedido no meio da venda, coloquei um button Cancelar
Mas se todos os campos n tiver preenchido ele nao "cancela".
Como eu poderia fazer isso ? Se ele clicar no botão cancelar, ignora as validações que o JS faria e redireciona para outra página ?
Grato
>
cara, com o codigo aqui fica mais facil
A validação do JS eu fiz assim
<!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>
<script type="text/javascript">
//Validando os campos do pedido de venda
function validar(form1){
if(form1.dtpedido.value == ''){
alert("Preencha a data do pedido");
return false;
}else
if(form1.lm_operacao.value == ''){
alert("Selecione a operação")
return false;
}else
if(form1.vendedor.value == ''){
alert("Preencha o código do vendedor")
return false;
}else
if(form1.cod_cli.value == ''){
alert("Preencha o código do cliente")
return false;
}else
if(form1.lm_cliente.value == ''){
alert("Preencha nome do cliente")
return false;
}
if(form1.codigo.value == ''){
alert("Preencha codigo do produto")
return false;
}
return true;
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Pedido</title>
<script language="javascript" type="text/javascript" src="../js/jquery-1.7.1.js"></script>
<!--<script language="javascript" type="text/javascript" src="js/jQuery.validate.js"></script>-->
</head>
<body>
<table width="199" border="0" align="center">
<tr>
<th scope="col"><img src="imagens/topo.gif" width="900" height="150" /></th>
</tr>
</table>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form1" onsubmit="return validar(this);">
Ai abaixo vem o código que eu desenvolvi para os produtos e tals...
o problema mesmo é do botão.
Temporariamente como não ta rodando em nenhum cliente eu coloquei uma imagem com um link redirecionando
Mas se eu coloco um botão comum, como ele faz um submit ele tenta validar o form
Entendeu ?
Mas se eu coloco um botão comum, como ele faz um submit ele tenta validar o form
Ao que parece, ao invés de retornar tua função de validar, você deveria, no onSubmit() apenas invocá-la e retornar FALSE, depois disso.
Ai quando vou gravar os dados eu faço o seguinte:
if (isset($_POST["salvar"]) == true) {
//Pegando o último número do pedido
$query = "SELECT * FROM pedidos_venda order by codigo desc limit 1";
$ultimo_id = pg_query($db,$query); // Executa o comando SQL e salva na variável
$dados5 = pg_fetch_array($ultimo_id);
//Pegando o último número do pedido
//Valores do pedido
$numpedido = $dados5['codigo']+1;
$dtregistro = $_POST["dtregistrooculto"]; //Data do registro do pedido campo dt_inc
$dtpedido = $_POST["dtpedido"]; //Data do pedido campo dt_pedido
$lm_operacao = $_POST["lm_operacao"];
$lm_operacao =substr($lm_operacao,strlen($lm_operacao)-3,3); // campo cod_cfop
//$cod_vendedor = $_POST["codvendedoroculto"]; //Vendedor campo cod_vendedor
$cod_cli = $_POST["cod_cli"]; //Codigo cliente campo cod_cli
//Valores dos produtos
$codigo_produto = $vetor[1]['codigo'];
$quantidade = $_SESSION['carrinho'][1]['quantidade'];
$valor = $_SESSION['carrinho'][1]['valor'];
$desconto = $_SESSION['carrinho'][1]['desconto'];
$entrega = $_SESSION['carrinho'][1]['entrega'];
$dt_prod_entrega = $_SESSION['carrinho'][1]['dt_prod_entrega'];
$cod_tipo_estoque = $_SESSION['estoque'];
//Valores da transportadora
$cod_transportadora = $_POST['codtransportadora'];
$logradouro = $_POST['txtlogradouro'];
$logradouro_num = $_POST['txtnum'];
$complemento = $_POST['complemento'];
$bairro = $_POST['bairro'];
$municipio = $_POST['txtmunicipio'];
$uf = $_POST['lm_uf'];
$lm_frete = $_POST['lm_frete'];
if($complemento==""){
$complemento=" ";
}
GravaPedido($numpedido,$dtregistro,$dtpedido,$lm_operacao,$codvendedor,$cod_cli,$total,$cod_transportadora,$logradouro,$logradouro_num,$complemento,$bairro,$municipio,$uf,$lm_frete,$codvendedor);
GravaProdutos($numpedido,$dtregistro,$codvendedor,$auxiliar,$dt_prod_entrega,$cod_tipo_estoque,$entrega);
unset($_SESSION['carrinho']);
header("location: pag_pedido.php?numpedido=$numpedido;");
}
Queria fazer assim, um botão e assim
if (isset($_POST["cancelar"]) == true) {
header("location: consulta.php");
}
Mas se faço assim, ele valida o formulário
alguem pode me da uma dica ????
cara, com o codigo aqui fica mais facil