Ir para conteúdo

POWERED BY:

Arquivado

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

Guiziin

Script não funciona corretamente

Recommended Posts

Olá amigos,

 

Tenho esse seguinte script:

<script type="text/javascript" language="javascript" src="<?=_BASEURL_?>/js/jquery-1.3.2.js"></script>
<script type="text/javascript" language="javascript">
function testee(){
document.formulario.submit();
}
function envia(){
$(function($) {
   // Quando o formulário for enviado, essa função é chamada
   $("#formulario").submit(function() {
   // Colocamos os valores de cada campo em uma váriavel para facilitar a manipulação
   var final = $("#final").val();
   // Fazemos a requisão ajax com o arquivo envia.php e enviamos os valores de cada campo através do método POST
	$.post('envia.php', {final: final }, function(resposta) {
	});
});
});
alert("Funcionou");
}
</script>

 

Formulário:

<form id="formulario" name="formulario" action="javascript:envia()" method="post">

<input type="hidden" name="final" id="final" value="A" />

</form>

E um botão que chama a função testee()

 

Existe algum erro nesse script? Pois ele até me retorna o alert, mas não executa a query do arquivo envia.php

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não faz o menor sentido esse action com a function, e nem a forma com que você encapsulou o document.ready

 

exemplo de envio com ajax de formulário

http://www.wbruno.com.br/blog/2011/03/21/validar-enviar-formulario-ajax-usando-jquery-validate/

Compartilhar este post


Link para o post
Compartilhar em outros sites

é que no caso, o que envia esse formulário, é o submit de um outro formulário...

tanto que no formulário que eu mandei, não tem o botão submit.

 

o problema mesmo, é com essa parte:

$(function($) { 
   // Quando o formulário for enviado, essa função é chamada 
   $("#formulario").submit(function() { 
   // Colocamos os valores de cada campo em uma váriavel para facilitar a manipulação 
   var final = $("#final").val(); 
   // Fazemos a requisão ajax com o arquivo envia.php e enviamos os valores de cada campo através do método POST 
               $.post('envia.php', {final: final }, function(resposta) { 
               }); 
       }); 
}); 

Por que o script me retorna o alerta mas não executa a parte do ajax, e é onde eu tenho dificuldade...

Não entendo praticamente nada, mas fiz muitas pesquisas e o mais perto que eu achei do que eu precisava foi esse link: http://www.oficinadanet.com.br/artigo/php/ajax_envio_de_formulario_sem_refresh_com_jqueryphp

 

E tentei fazer algumas adaptações, por que preciso enviar os dados de um campo hidden que vai mudar de acordo com uma contagem regressiva em javascript, sendo que quando o tempo for maior que 20 segundos será um valor, e quando for menor que 20 segundos, outro valor...

Mas nesse meio tempo, não pode ser dado refresh na página... Então as vezes o usuário vai entrar faltando mais de 20 segundos e o valor do hidden precisa mudar automaticamente depois que faltar menos...

 

Grato pela ajuda desde já, e peço desculpa por minha falta de conhecimento em ajax, talvez eu esteja falando bobagem aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é que no caso, o que envia esse formulário, é o submit de um outro formulário...

impossível fazer isso. Ou você envia tudo no mesmo formulário, ou então faz uma requisição sem depender de forms.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você teria um exemplo de uma requisição sem forms?

 

Tenho esse código:

function final_from_time22(diff) 

{

   if(diff > 20) {

final = "Teste1";

 } else {

final = "Teste2";

 }

 return final;

}

 

Como faria por exemplo para enviar uma requisição que enviasse o valor dessa variável final, e gravasse em um banco de dados via php o valor da variavel final, sendo que o valor da variável final mudaria de acordo com o tempo da contagem?

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.