Quando do form mando inserir no bd e a chave primária é violado obtenho uma resposta, dou um feedback para o usuário dizendo cnpj já existe.
Mas passei a fazer com ajax para evitar o carregamento da pagina, e o problema é o seguinte:
JS e o Ajax
$(document).ready(function(){
$("#id_botao").click(function(e){if(!validarForm()){return;}var nome = $("#nome");var nomePost = nome.val();var cnpj = $("#cnpj");var cnpjPost = cnpj.val();var radioPost;if(document.getElementById('radio0').checked ==true){
radioPost =0;}else{
radioPost =1;}
$.ajax({
url :'emp-inserir.php',
type :"POST",
data:{
nome: nomePost, cnpj: cnpjPost, radio: radioPost //chave:valor},
datatype:"html",
beforeSend:function(){// modal dizendo que esta salvando},
success :function(response){// AQUI quero o retorno dizendo que foi gravado com sucesso ou se houve a violação da chave primária},
error :function(data){
alert('Erro: URL não encontrada!');// não achou a url (debug)},})});// fim botão});
A URL para o ajax
<?php
$resultadoDao ='0';
require_once('dao/crud-emp.php');
$dao =newDaoEmpresa();
$nome = $_POST['nome'];
$cnpj = $_POST['cnpj'];
$radio = $_POST['radio'];if($dao->inserir($nome, $cnpj, $radio)){
$resultadoDao ='SUCESSO';// NÃO CONSIGO PEGAR ESTE VALOR}else{
$resultadoDao ='ERRO';// NÃO CONSIGO PEGAR ESTE VALOR}
echo $resultadoDao;?>
O arquivo dao/crud-emp-.php
publicfunction inserir($nome, $cnpj, $isAutomatico){
error_reporting(0);// retirar caracteres acentuados
$nome = strtr($nome, $this->map);// forçar a gravar tudo em maiusculo. Se quiser apenas a primeira letra de cada palavra em maiusculo, usar ucwords($nome)
$nome = strtoupper($nome);
$sql ="INSERT INTO empresa (nome, cnpj, isAutomatico) VALUES ('$nome', '$cnpj', '$isAutomatico')";// retorna falso quando há duplicidade na chave primária, no caso o campo cnpjif(!mysql_query($sql)){//$this->conectar->desconecta();returnfalse;}
$this->addAutomatico($nome);
$this->conectar->desconecta();returntrue;}
Amigos, tudo funciona, grava no bd quando é para gravar e não gtva quando o cnpj (chave primária) foi violada.
Mas eu tenho que dar um feedback para o usuário saber que foi ou não gravado. Percebi através do console.log, que o parâmetro da função sucess do ajax retorna uma pagina inteira, tem como eu pegar um true/false? Desde já agradeço.
Pergunta
Alex Fernandes
Fala "Jedais";
Quando do form mando inserir no bd e a chave primária é violado obtenho uma resposta, dou um feedback para o usuário dizendo cnpj já existe.
Mas passei a fazer com ajax para evitar o carregamento da pagina, e o problema é o seguinte:
JS e o Ajax
A URL para o ajax
O arquivo dao/crud-emp-.php
Amigos, tudo funciona, grava no bd quando é para gravar e não gtva quando o cnpj (chave primária) foi violada.
Mas eu tenho que dar um feedback para o usuário saber que foi ou não gravado. Percebi através do console.log, que o parâmetro da função sucess do ajax retorna uma pagina inteira, tem como eu pegar um true/false? Desde já agradeço.
Editado por Alex FernandesLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.