Ir para conteúdo
alexcarlosrh

Salvar sem refresh na pagina

Recommended Posts

Boa tarde gostaria de saber se é possível, fazer uma função no javascript que ele salve ou excluir uma informação no banco de dados mysqli, pois gostaria de fazer sem refresh na pagina ou mesmotambem sem  puxar a função de outra pagina php, sei que é possível porque pelos meus testes, consegui apagar os dados de um banco de dados so que os dados eram apagados quando eu fazia o refresh na minha pagina e não quando eu apertava o botão excluir, ou seja a função, a pagina carregava todos os javascript e executava a função nessa ora ele apagava os dados do banco de dados, gostaria que o javascript so executa-se a função quando eu apertar a  botao, se é possivel que a funçao fique pausada até apertar o botao?

<?php

$_acs['conectaServidor'] = true;        // Abre uma conex�o com o servidor MySQL?  
$_acs['servidor'] = 'localhost';        // Servidor MySQL  
$_acs['usuario'] = 'root';              // Usu�rio MySQL  
$_acs['senha'] = '';                    // Senha MySQL  
$_acs['banco'] = 'bdacs_acs';
$_SESSION['tabela_empresa'] =1;
$_SESSION['usuarioID'] =1;
$_acs['cod_primario'] =1;
$_acs['tabela11a'] = 'bd_compras_per';     
$del_iten_prod_car = 434;

?>
                            <script src="jquery-3.3.1.min.js"             type="text/javascript"></script>
        <?php ob_start() ?>

<script>
function salvar(e){
if (confirm("salvar")) {
        if(typeof pesquisa == "string") {
        pesquisa = document.getElementById('pesquisa');
            }
 alert("<?php
                        $_acs['link'] = mysqli_connect($_acs['servidor'], $_acs['usuario'], $_acs['senha']) or die("MySQL: N�o foi poss�vel conectar-se ao servidor [".$_acs['servidor']."].");
                        mysqli_select_db($_acs['link'], $_acs['banco']) or die("MySQL: N�o foi poss�vel conectar-se ao banco de dados [".$_acs['banco']."].");

                        $deleteSQL = "DELETE FROM `".$_acs['tabela11a']."` WHERE cod_p_compras= '"?>"+pesquisa+ "<?php"' ";
                        mysqli_query($_acs['link'], $deleteSQL);
                echo ' Cadastro Deletado'; ?>") 
} else {
 alert("Cancelado");
}}
</script><?php 
   $buffer_js = ob_get_clean();
    print_r($buffer_js);
    
echo '    <input required="required" type="text" size=45 maxlength="25" name="pesquisa" id="pesquisa" />
        <input required="required" type="submit" name="button" id="button" onclick="salvar()" value="salvar"/>';
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só usar formulários que ao invés de redirecionar para outro arquivo. O form é submetido por javascript que executará ajax no arquivo que salva os dados.

 

Veja esse script que desenvolvi que é muito simples de usar "que serve para qualquer tipo de formulário, e para qualquer requisição ajax e não gera warnings e muito leve para ser processado"

https://github.com/Spell-Master/sm-web/tree/master/scripts/AjaxRequest

 

<div id="mostrar_resultado"></div>
<form id="exemplo" onsubmit="return ajx.form(this.id, 'mostrar_resultado', 'arquivo_que_recebe_os_dados.php')">
    <input type="text" name="valor_a_ser_enviado"/>
    <button>Enviar via Ajax</button>
</form>

<script>
    var ajx = new AjaxRequest();
</script>

 

Basicamente para o uso você deve criar o objeto que no caso aqui se chama ajx.

Então para salvar formulário você pode usar o método form por exemplo "existe outro"

Que consiste em 3 parâmetros.

1º - O #ID do form

2º - O #ID de onde o arquivo deve ser executado

3º - O arquivo ao qual vai receber os dados e será mostrado no segundo parâmetro.

Nada a mais pois todos inputs que tiverem o name serão enviados para os próximo arquivo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

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