Ir para conteúdo

POWERED BY:

Arquivado

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

Gabriel Falieri

Passar valor de um javascript para php

Recommended Posts

Olá galera do Imasters, eu estou com o seguinte problema, eu tenho um formulário, onde sua validação é tratada em javascript, ai se caso não tiver erro, manda da um submit no formulário, só que parece que o PHP não dá dando post no button, então eu pensei em fazer o php receber o valor do javascript quando eu mandar o javascript da submit nele... só que tentei fazer aqui sem sucesso, tem algum exemplo disso?

 

é mais ou menos assim que meu form está trabalhando, podem testar que está funfando

 

meu PHP

<?php$ValorPhp = $_POST["txtEnviar"];echo $ValorPhp;?>

meu CSS

.txtTeste{	width:300px;	height:14px;}.f-campo-teste{	width:300px;	height:14px;}.erro-campo-teste{	border:1px solid #F00;	width:300px;	height:14px;}

meu javascript

function testeEnviar(enviar){	var fomulario = document.frmEnviar	var teste = enviar.value.length;	var erro = 0;	// eu sei que o texto do html é pego dessa forma "enviar.lenght;"		if(teste > 10 )	{		document.getElementById("txtTeste").className = 'txtTeste f-campo-teste';	}	else	{		document.getElementById("txtTeste").className = 'txtTeste erro-campo-teste';		erro++;	}	if(erro = 0)	{		formulario.submit();	}}

meu html

<form method="post" action="" name="frmEnviar"><input type="text" name="txtTeste" id="txtTeste" class="txtTeste f-campo-teste"/><input type="button" value="teste" name="teste" onclick="return testeEnviar(txtTeste);"/></form>

Valeu ai galera

 

 

alguem ajuda ae? :/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Explique melhor o que deseja fazer, está um pouco confuso a sua ideia.

 

 

Olá galera do Imasters, eu estou com o seguinte problema, eu tenho um formulário, onde sua validação é tratada em javascript, ai se caso não tiver erro, manda da um submit no formulário, só que parece que o PHP não dá dando post no button, então eu pensei em fazer o php receber o valor do javascript quando eu mandar o javascript da submit nele... só que tentei fazer aqui sem sucesso, tem algum exemplo disso?

 

Javascript e PHP rodam em níveis diferentes (cliente e servidor, respectivamente). Para isso você utiliza Ajax.

 

Ah, e cuidado com o ponto de "validação é tratada em javascript". Javascript pode ser desabilitado e lá se foi toda a validação. Valide em ambos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tentei usar dessa forma, não entendi como ela funciona... tu tem Facebook?

Não tenho Facebook.

 

O código é simples, o @Enrico Pereira já explicou: "Javascript e PHP rodam em níveis diferentes (cliente e servidor, respectivamente). Para isso você utiliza Ajax."

 

Para isso utilize $.post ou $.ajax do jQuery.

 

Pode ajudar: http://blog.clares.com.br/utilizando-metodo-post-do-jquery-php/

 

Mas pesquise no Google como utilizar o método $.post ou $.ajax do jQuery com PHP e leia a documentação.

 

http://learn.jquery.com/

 

http://api.jquery.com/jQuery.post/

 

http://api.jquery.com/jQuery.ajax/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom...

O action do form está vazio, não vai mandar para lugar nenhum.

 

Por que não muda o tipo do input button para submit e tira o form submit do javascript?

Por que não limita o tamanho do campo para 10 caracteres?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O action do form está vazio, não vai mandar para lugar nenhum.

 

Se ele utilizar o jQuery para enviar um conteúdo do Javascript para o PHP ele não precisa de uma action, pois ele pode utilizar $.submit para detectar se o form foi acionado a função de envio e fazer a verificação dos dados do formulário para poder enviar para o PHP via $.post.

 

Por que não muda o tipo do input button para submit e tira o form submit do javascript?

 

Realmente, não funcionará se ele não colocar um input submit, mas ele pode utilizar um button também e verificar com o Js se ele foi cicado com $.click, mas acho que não é interessante. É mais prático utilizar input submit.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou usar o input submit mesmo, mais eu procurei pelo jquery validador ele entra em conflito com meus slides, não tem outra forma de validar o form que fica elegante no site, dessa forma até funciona... mais o form não fica bloqueado, eu preciso fazer que o formulário não envie se tiver erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Toma que o papai hoje tá bonzinho :natallaugh:

 

<html>
<head>
	<style type="text/css">
		.txtTeste
		{
		width:300px;
		height:14px;
		}
		.f-campo-teste
		{
		border:1px solid green;
		}
		.erro-campo-teste
		{
		border:1px solid #F00;
		}
	</style>	
	<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
	<script type="text/javascript">		
		function testeEnviar(elemento){
			var teste = jQuery(elemento).val();
			
			if(teste > 10 ){
				jQuery(elemento).removeClass('erro-campo-teste');
				jQuery(elemento).addClass('f-campo-teste');
				jQuery(elemento).parent('form').submit();
			}	
			else{
				jQuery(elemento).removeClass('f-campo-teste');
				jQuery(elemento).addClass('erro-campo-teste');
				return false;
			}
		}
	</script> 
</head>
<body>
	<form method="post" action="nome_do_script.php" onsubmit="return testeEnviar('#txtTeste');">
		<input type="text" name="txtTeste" id="txtTeste" class="txtTeste" />
		<input type="submit" value="teste" name="teste"/>
	</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tive que adaptar uma pequena coisinha aqui para a forma que eu preciso... :love: EU TE AMOOOOOO :love: salvou a minha vida... a uma semana caçando por isso



cara, agora para fazer com mais de um campo, como que faço, me da uma luz ae?

não sei mt jquery :/



pode deixar.. consegui fazer aqui.... Muito Obrigado parceiro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu nunca seleciono nada em partes! :natallaugh:

 

<html>
<head>
	<style type="text/css">
		.txtTeste
		{
		width:300px;
		height:14px;
		}
		.f-campo-teste
		{
		border:1px solid green;
		}
		.erro-campo-teste
		{
		border:1px solid #F00;
		}
	</style>	
	<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
	<script type="text/javascript">

		function testeEnviar(elemento){
			var teste = jQuery(elemento).val();
			 
			if(teste > 10 ){
				jQuery(elemento).removeClass('erro-campo-teste');
				jQuery(elemento).addClass('f-campo-teste');
				return true;
			}	
			else{
				jQuery(elemento).removeClass('f-campo-teste');
				jQuery(elemento).addClass('erro-campo-teste');
				return false;
			}
		}
	</script> 
</head>
<script type="text/javascript">		
jQuery(function(){
	erros = new Array();
	jQuery("#teste").click(function(){
		// AQUI VC ADICIONA OS IDS DOS ELEMENTOS QUE SERÃO VALIDADOS
		var campos = ['#txtTeste1' , '#txtTeste2' ,'#txtTeste3'];
		
		jQuery.each(campos , function(k,v){
			erros[k] = testeEnviar(v);
			if(erros[k] == false)
				return;  
		});

		return jQuery.inArray(false , erros) == -1 ? jQuery('#form').submit() : false;
	})
});
</script>
<body>
	<form method="post" action="nome_do_script.php" id="form">
		#txtTeste1
		<input type="text" name="txtTeste1" id="txtTeste1" class="txtTeste" />
		<br />
		#txtTeste2 
		<input type="text" name="txtTeste2" id="txtTeste2" class="txtTeste" />
		<br />
		#txtTeste3 
		<input type="text" name="txtTeste3" id="txtTeste3" class="txtTeste" />
		<br />
		<input type="button" value="teste" name="teste" id="teste"/>
	</form>
</body>
</html>

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.