Ir para conteúdo

POWERED BY:

Arquivado

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

Mahhbatera

2 submits em um mesmo form

Recommended Posts

galera é o seguinte.. tenho o seguinte formulario:

 

  <form id='form_aceitar_amigo' method='post' action='aceitar_amigo.php'>
       <td width='43' colspan='2'>
         <input type='submit' name='sim' id='sim' value='Sim' />
         <input type='submit' name='nao' id='nao' value='Não'/>
       </form>

       </td>

 

Essa é uma tabela de aceitação de usuario.. quando um usuario adiciona o outro aparece uma tabela dessa pro usuario que foi adicionado ver se ACEITA ou NÃO ACEITA.

Quero fazer o seguinte: se o usuario clicar no botão Sim, o campo ACEITO na tabela usuario_amigo tem que mudar de 0 (default) pra 1(aceito) e se o usuario clicar em NÃO, o campo ACEITO na tabela usuario_amigo tem que mudar de 0 (default) pra 2(rejeitado).

 

dai essa página manda o action pra aceitar_amigo.php onde eu quero fazer a verificação!

 

Como que eu faço o if , pra testar em qual botão o usuario clicou?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Mahhbatera,

 

Use JQuery, resolve isso fácil fácil.

 

$("#sim").click(function(){

//faz alguma coisa AJAX

});

 

$("#nao").click(function(){

//faz alguma outra coisa AJAX

});

 

 

Com o JQuery você conesegue fazer a conexão Ajax sem problemas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então, tenho um script aqui que uso para confirmar se um dado será excluído ou não, ou seja, se o usuário clicar em 'excluir' ele pergunta se o cara tem certeza coisa e tal...

 

talvez com alguma adaptação você possa utilizá-lo aí.

 

o js entre as <head> e depois os links na página.

 

<script LANGUAGE="JavaScript">
function confirmBox(valor1) {
if (confirm("Deseja apagar o registro?")) {
	location.href="cidade_delete.php?valor=" + valor1;}
}
</script>

---

<a href="javascript:void(0);" onClick="confirmBox('1')">Aceitar</a>
<a href="javascript:void(0);" onClick="confirmBox('2')">Recusar</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com o JQuery você conesegue fazer a conexão Ajax sem problemas.

Ajax não é conexção :huh:

Para com essa mania de meter jQuery em tudo =)

Sem falar do tempo de processamento, de um XHR normal, para o AJAX do jQuery

Em Conexções lentas, pensa so, você dispara um evento .. o codigo tem que ler todo

o jQuery pra mandar a Requisiçao, isso aí já e uma perda de desempenho

 

<script type="text/javascript">
   window.onload = function(){
       function getHTTPObject(){
           if( window.XMLHttpRequest ){
              return new XMLHttpRequest();
           }else{
              return new ActiveXObject("Microsoft.XMLHTTP");
           }
       }
         document.getElementById('sim').onclick = function(){
          var XMLHttp = getHTTPObject();
          XMLHttp.open( "GET", "pagina.php?acao=aceita", true );
          XMLHttp.send();
          XMLHttp.onreadystatechange = function(){
              if( XMLHttp.readyState == 4 ){
                  alert( XMLHttp.responseText );
              }
            }
         }
         document.getElementById('nao').onclick = function(){
             var XMLHttp = getHTTPObject();
             XMLHttp.open( "GET", "pagina.php?acao=rejeita", true );
             XMLHttp.send();
             XMLHttp.onreadystatechange = function(){
                if( XMLHttp.readyState == 4 ){
                      alert( XMLHttp.responseText );
                }
             }
         }
   }
</script>
<form>
   <input type="button" id="sim" value="Sim" />
   <input type="button" id="nao" value="Não" />
</form>
<div id="async"></div>

 

Pagina.php

 

<?php
       if( $_GET['acao'] == 'aceita' ){
           echo utf8_encode( 'E aí brow' );
       }elseif( $_GET['acao'] == 'rejeita' ) {
           echo utf8_encode( 'Sai fora cara, nem te conheço' );
       }

...

Compartilhar este post


Link para o post
Compartilhar em outros sites
<form id='form_aceitar_amigo' method='post' action='aceitar_amigo.php'>

<td width='43' colspan='2'>

<input type='submit' name='choice' id='sim' value='Sim' />

<input type='submit' name='choice' id='nao' value='Não'/>

</form

 

 

 

 

aceitar_amigo.php

if( $_POST['choice'] == 'Sim' )
{
 // aceitou
}else{
 // não aceitou
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera complicando colocando ajax no meio, quando se esquecem que o valor do submit também é repassado na requisição, a resposta do Hinom é a mais correta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera complicando colocando ajax no meio, quando se esquecem que o valor do submit também é repassado na requisição, a resposta do Hinom é a mais correta.

Também Acho, mais pra ficar mais dinâmico o negocio =) :lol:

E eu não esqueci que o valor do submit é passado por requisição :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu certo, mas por exemplo, se eu tenho vários pedidos de amizade, quando eu clico no botao de SIM de um usuario, TODOS OS usuarios estão sendo aceitos.. como que eu faço pra só aquele usuario que eu cliquei no SIM, ou no NAO,ser aceito ou rejeitado?!

 

sei que esse é o forum de PHP, mas minha duvida é junto com a que postei acima..entao me perdoem!

 

 

quando o valor de aceito é 1, o usuario será aceito, e quando for 2 será rejeitado..

 

minha clausula é essa:

 

if( $_POST['choice'] == 'sim' )
	{
		$sql = ("UPDATE usuario_amigo SET aceito = 1 WHERE id_usuario_amigo = $id_usuario");

	}

else

	{
			$sql = ("UPDATE usuario_amigo SET aceito = 2 WHERE id_usuario_amigo = $id_usuario");
	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

aí já é questão de lógica..

 

é o seu trabalho..

 

se quiser suporte para algo específico, contrate um profissional liberal ou uma empresa para fazer o suporte ou consultoria.

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.