Ir para conteúdo

Arquivado

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

Kakaroto1309

Buscar informacao na base atraves do Ajax

Recommended Posts

Pessoal, Seguinte

 

Tenho uma pagina e nela tenho um botão.

Quando clicar nesse botão ele tem que executar um JAVASCRIPT que busca na base o id do usuario:

 

PROMOCOES.PHP

 

BOTAO

<input type="button" value="Sortear" id="FormBotao" onClick="ExecutaSorteio();">

 

JAVASCRIPT

<script type="text/javascript">
function ExecutaSorteio() 
{
   	var idPromocao = document.getElementById("idPromocao").value;
	var httpxml;
		
	if (window.XMLHttpRequest)
	{
		httpxml = new XMLHttpRequest();
	}
	else
	{
		httpxml = new ActiveXObject("Microsoft.XMLHTTP");
	}
			
	httpxml.onreadystatechange =
		function()
		{
			if (httpxml.readyState == 4 && httpxml.status == 200)
			{		
				alert(httpxml.responseText);
			}
		}
	
	httpxml.open("GET","../actions/sortear.php?Promocao=" + idPromocao,true);
	httpxml.send();
}
</script>

 

SORTEAR.PHP

 

<?
include("../conexao/conexao.php");
conecta();

$idPromocao = $_GET["Promocao"];
	
$STT = "SELECT
	idUsuario
	FROM tbSorteios
	WHERE
	idPromocao = $idPromocao
	ORDER BY RAND()
	LIMIT 1 OFFSET 0";
$QRY = mysql_query($STT) or die;
$X = mysql_fetch_assoc($QRY);

echo $X['idUsuario'];
?>

Porém, quando executo, o ALERT está vazio!!!!!

Nem FROYD explica isso!!! Eu uso esse mesmo codigo em outras paginas e funciona!!!!

Eu executo a pagina SORTEAR.PHP?Promocao=1 direto no browser e funciona!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aparentemente você simplesmente não esta pegando o valor de "idPromocao", de um alert() logo após para confirmar se o valor esta sendo capturado:
 

var idPromocao = document.getElementById("idPromocao").value;
alert(idPromocao);


Retornando vazio, suspeito de duas coisas:

1. idPromocao não é um campo do tipo input, neste caso .value não vai funcionar mesmo
2. algo esta limpando o campo idPromocao, antes da função ExecutaSorteio() ser executada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por rfael023
      Pessoal, bom dia!
       
      Estou iniciando no JS e quero automatizar algumas ações realizadas por humanos. Uma delas, preciso acessar um site e fazer o download de arquivo, porém, neste site especifico, não estou conseguindo passar da tela de login. Estou testando essa parte  no console do browser mesmo:
       
      var username = window.document.getElementById("username") undefined var password = window.document.getElementById("password") undefined var signin = window.document.querySelector(".splButton-primary.btn") undefined username.value = "usuariovalue" "usuariovalue" password.value = "passwordvalue" "password value" signin.click() Mas quando eu disparo o click, da usuário e senha errada e no console da a seguinte mensagem: 
       
      POST https://siteexemple/en-US/account/login 401 (Unauthorized) common.js:27
       
      Se eu digito o usuário e senha na mão e uso o console apenas para clicar no botão, ele acessa normalmente. Segue abaixo, bloco HTML do site:
       
      <form method="post" class="loginForm" action="/en-US/account/login"> <div style="display: none" data-cid="view200" class="account-login-firsttime" data-view="views/account/login/FirstTime" data-render-time="0"> <h2>First time signing in?</h2> <p>If you've forgotten your username or password, please contact your Splunk administrator.</p> <table> <tbody><tr> <td>username</td> <td>admin</td> </tr> <tr> <td>password</td> <td>changeme</td> </tr> </tbody> </table> </div> <fieldset> <div class="control account-login-textcontrol control-default" data-cid="view197" data-view="views/account/login/TextControl" data-name="username" data-render-time="0"> <span class="uneditable-input " data-role="uneditable-input" style="display:none"></span> <input type="text" name="username" class=" " value="" autocomplete="off" id="username" placeholder="Username"> </div> <div class="control account-login-textcontrol control-default" data-cid="view199" data-view="views/account/login/TextControl" data-name="password" data-render-time="0"> <span class="uneditable-input " data-role="uneditable-input" style="display:none"></span> <input type="password" name="password" class=" " value="" autocomplete="off" id="password" placeholder="Password"> </div><input class="splButton-primary btn" type="submit" value="Sign in"> <input type="hidden" name="cval" value="1900007162"> <input type="hidden" name="return_to" value="/en-US/"> </fieldset> </form> Conseguem me ajudar? Estou iniciando no JS.
       
      Agradeço, desde já!
    • Por soyer2018
      Bom dia
       
      to aprendendo por conta html, css e java script, eu criei um exercício onde eu criei uma input no html:
       
      <input type="number" onclick="teste()">
       
      e no java script eu quero o seguinte, quando eu clico no input, quero que ele armazene o número que cliquei e informe através do alert.
      fiz o seguinte código:
      function teste() {
      var number = document.getElementByName('input', 'number').values;
      alert('seu numero', + number);
       
      };
       
      porém ele só mostra o alerta mas sem mostrar o número,, como posso resolver esse problema.?
    • Por renan mafra
      Olá pessoal,
      Estou aprendendo JS há alguns meses. Como todo processo de aprendizagem aparecem certas lacunas, dúvidas....
      A minha é a seguinte: Estou tendo dificuldade em atrelar elementos do tipo (arrays/listas/vetores) retornados pelos
      métodos do DOM e atrelá-los a eventos. Nesse código abaixo eu queria transformar cada dia de um calendário em
      um objeto clicável e estou tendo dificuldade em manipular os vetores retornados e atrelá-los A CADA DIA.,
      alguém pode dar essa luz ??
       
      segue o código:
       
      <script> window.onload = function(){ var msg = document.getElementById("msg"); var el = document.getElementById("mes"); var elemento = el.getElementsByClassName("dia"); /* elemento[0].onclick = function(){ elemento[0].style.backgroundColor = "#ccc"; } */ elemento[1].onclick = function(){ elemento[1].style.backgroundColor = "#ccc"; } elemento[2].onclick = function(){ elemento[2].style.backgroundColor = "#ccc"; } elemento[3].onclick = function(){ elemento[3].style.backgroundColor = "#ccc"; } } </script> </head> <body> <table id="mes"> <tr> <td class="dia">1</td><td class="dia">2</td><td class="dia">3</td><td class="dia">4</td><td class="dia">5</td><td class="dia">6</td><td class="dia">7</td> </tr> <tr> <td class="dia">8</td><td class="dia">9</td><td class="dia">10</td><td class="dia">11</td><td class="dia">12</td><td class="dia">13</td><td class="dia">14</td> </tr> <tr> <td class="dia">15</td><td class="dia">16</td><td class="dia">17</td><td class="dia">18</td><td class="dia">19</td><td class="dia">20</td><td class="dia">21</td> </tr> <tr> <td class="dia">22</td><td class="dia">23</td><td class="dia">24</td><td class="dia">25</td><td class="dia">26</td><td class="dia">27</td><td class="dia">28</td> </tr> <tr> <td class="dia">29</td><td class="dia">30</td><td class="dia">31</td> </tr> </table> </body> </html> Já usei função fora do onLoad, já usei loop for mas to quebrando a cabeça aqui.
       
      Eu gostaria que um único botão (o dia clicado) em uma função conseguisse fazer o trabalho, tipo assim:
            
             elemento[x].onclick =  function(){
                       elemento[x].style.backgroundColor = "#ccc";
              }
       
      qual a forma correta de fazer isso ????
       
      agradeço a ajuda.
       
    • Por thgsousa3122
      <?php $url = 'www.site.com'; $dadosSite = file_get_contents($url); echo $dadosSite; ?> <script type="text/javascript"> window.onload = function(){ var x = document.getElementsByClassName("fraction")[0].innerHTML= "100"; } </script> Glr tenho esse codigo, eu queria alterar o conteudo que tem como classe "fraction", porem ele nao da resposta, alguem tem alguma sujestão?
    • Por diogoglobaltec
      criei um formulário dinamico e gostaria de enviar para o arquivo rec.php, os aquivos adicionados pelo no formato file , já tentei colocar em
       x.setAttribute("enctype" , "multipart/form-data");
      também não funcionou segue o arquivo:
       
      <!DOCTYPE html>
          <html>
              <body>
              
                  
                  
                  <p>Click the button to create a FORM and an INPUT element.</p>
                  <button onclick="myFunction()">Try it</button>
                  <button onclick="enviar()">enviar</button>
          <script>
          function myFunction() {
            var x = document.createElement("FORM");
            x.setAttribute("action", "rec.php");
          x.setAttribute("method", "post");
          x.setAttribute("id", "myForm");
            document.body.appendChild(x);

            var y = document.createElement("INPUT");
            y.setAttribute("type", "file");
            y.setAttribute("name", "arquivo[]");
            document.getElementById("myForm").appendChild(y);
      }
           function enviar(){
              document.forms[0].submit(); 
          
          }
          </script>

              </body>
      </html>
       
      consigo pegar no arquivo rec.php o valor de $_POST , mas de $_FILES não consigo pegar como um array, o que está dando errado ? segue o  script PHP 
       
      Arquivo rec.php
      <?php
      foreach($_POST['arquivo'] as $value) {
              echo $value."<br />";
      }
      foreach($_FILES['arquivo'] as $value) {
                     echo $value['arquivo']['name']."<br />";
      }
       
       
       
       
×

Informação importante

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