Ir para conteúdo
Fórum Script Brasil
  • 0

Javascript Dentro Do Javascript....


guilffernet

Pergunta

pessoal to fazendo uma aplicação em ajax, inclusive to começando em ajax agora também.....

e quando faço uma requisição, que na resposta existe uma tag <script>alert("essa msg não aparece!!!");</script>,

o ajax simplesmente ignora esta tag e nada aparece nem se for um innerHTML, queria saber se isso é normal ou esta faltando alguma coisa no meu script????

ahhh e outra coisa, alguém sabe com setar um valor ou texto para um campo do tipo FILE????

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

dae

tem como tu postar o codigo que tu fez ai em ajax pra analisarmos!?

assim só com uma pista de caca ao tesouro acho dificil descobrir.

e sobre o arquivo FILE, não é possivel setar valores pra esse objeto não.

motivos de seguranca dos browsers.

se isso fosse possivel, codigos maliciosos fariam upload de arquivos da sua maquina sem você ter ciencia do acontecido.

beleza?!

Link para o comentário
Compartilhar em outros sites

  • 0

certo cara valeu..... segue ai o codigo

arquivo Ajax.js

function xhr() {
    var ajax;
    try{
        ajax = new XMLHttpRequest();
    }catch(ee){
        try{
            ajax = new ActiveXObject("Msxm12.XMLHTTP");
        }catch(ee){
            try {
                ajax = new ActiveXObject("Microsoft.XMLHTTP");
            }catch(E) {
                alert("Esse browser não tem recursos para uso do Ajax");
                ajax = false;
            }
        }
    }
    return ajax;
}
function Ajax(Div,url) {
    ajax = xhr();
    Obj = document.getElementById(Div);
    Loading = document.getElementById("corpo1");
    ajax.open("GET",url,true);
    ajax.onreadystatechange = function() {
        if (ajax.readyState == 1) {
            Loading.innerHTML = "Carregando...";
        } if (ajax.readyState == 4) {
            if (ajax.status == 200) {
                Loading.innerHTML = "Promoções";
                Obj.innerHTML = ajax.responseText;
            } else {
                alert("Erro ao executar consulta:\n"+ajax.status+" - "+ajax.statusText);
            }
        }
    }
    ajax.send(null);
}
arquivo add.php
<?php @header("Content-type: text/html; charset=iso-8859-1",true); ?>
<span class="titulo">Adicionando Promoção</span>
<form id="add"action="java script:AjaxProm('corpo','add.php?goto=cad&nome='+document.forms['add'].nome.value+'&img='+document.forms['add'].img.value+'&qtd='+document.forms['add'].qtd.value+'&data='+document.forms['add'].data.value+'&info='+document.forms['add'].info.value);" method="post" name="add">
    <table width="400" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="200">
          <input name="nome" type="text" id="nome" style="width:174px;" class="frm" onFocus="this.className='frm2'"onBlur="this.className='frm'" onMouseMove="ddrivetip('&lt;div class=\'tiphold\'&gt;&lt;div class=\'b2tt\'&gt;Nome da Promoção')" onMouseOut="hideddrivetip()">
            <br>
          <input name="img" type="file" id="img" class="file" onMouseMove="ddrivetip('&lt;div class=\'tiphold\'&gt;&lt;div class=\'b2tt\'&gt;imagem')" onMouseOut="hideddrivetip()">
            <br>
          <input name="qtd" type="text" id="qtd" style="width:30px;" class="frm" onFocus="this.className='frm2'"onBlur="this.className='frm'" onMouseMove="ddrivetip('&lt;div class=\'tiphold\'&gt;&lt;div class=\'b2tt\'&gt;Quantidade de ganhadores')" onMouseOut="hideddrivetip()">&nbsp;&nbsp;
          <input name="data" type="text" id="data" style="width:65px;" value="" class="frm" onFocus="this.className='frm2'"onBlur="this.className='frm'" onMouseMove="ddrivetip('&lt;div class=\'tiphold\'&gt;&lt;div class=\'b2tt\'&gt;Data do sorteio')" onMouseOut="hideddrivetip()">
           <a href="java script:abre('calendario');"><img src="images/icone_alterar.gif" width="11" height="11" border="0"></a>
         </td>
       <td width="200">
         <textarea name="info" cols="29" rows="4" style="width:200px;" class="frm" onfocus="this.className='frm2'"onblur="this.className='frm'" onmouseover="ddrivetip('&lt;div class=\'tiphold\'&gt;&lt;div class=\'b2tt\'&gt;informações adicionais')" onmouseout="hideddrivetip()"></textarea></td>
       </tr>
    </table>
    <input name="Submit" type="image" src="images/bt_ok.gif">
</form>
<?php if ($_GET['goto'] == 'cad') {
    require_once ("config.php");
$nome = $_GET['nome'];
    $image = $_GET['img'];
    $qtd = $_GET['qtd'];
    $date = $_GET['data'];
    $data = implode("-", array_reverse(explode("/",$date)));
    $info = $_GET['info'];
    //echo $nome." - ".$image." - ".$qtd." - ".$data." - ".$info;
    
    if (!$image) {
        $cfoto = "";
    } else {
        $ext = substr($image,-3);
            if ($ext == "jpg") {
                $img = @imagecreatefromjpeg($image);
            } elseif ($ext == "gif") {
                $img = @imagecreatefromgif($image);
            } elseif ($ext == "png") {
                $img = @imagecreatefrompng($image);
            } else {
                echo "<script>alert(\"Voce precisa escolher uma imagem do tipo jpg, gif ou png!\");</script>"; // <---- é aqui
                exit;
            }
        $width = imagesx($img); 
        $height = imagesy($img);
        $new_width = 150;
        $new_height = $height * $new_width / $width; 

        $nova_img = imagecreatetruecolor($new_width, $new_height); 
        imagecopyresized($nova_img,$img,0,0,0,0,$new_width,$new_height,$width,$height);
    
        $nomearquivo = date("YmdHis");
        if ($ext == "jpg") {
            $status = imagejpeg($nova_img,"imgs/".$nomearquivo.".jpg");
            $cfoto = "imgs/".$nomearquivo.".jpg";
        } elseif ($ext == "gif") {
            $status = imagegif($nova_img,"imgs/".$nomearquivo.".gif");
            $cfoto = "imgs/".$nomearquivo.".gif";
        } elseif ($ext == "png") {
            $status = imagepng($nova_img,"imgs/".$nomearquivo.".png");
            $cfoto = "imgs/".$nomearquivo.".png";
        }
    }        
    $sql = "INSERT INTO promocoes
        (nome, qtd, data, img, info)
    VALUES
        ('$nome','$qtd','$data','$cfoto','$info')";
    if(mysql_query($sql)) { 
        echo "<script>alert(\"A promoção foi adicionada com sucesso!\");</script>"; // <---- é aqui
    } else {
        echo mysql_error();
    }
}    
    ?>

procure onde estiver escrito "// <---- é aqui" e é isso o que não aparece o conteudo da tag <script></script>

Editado por guilffernet
Link para o comentário
Compartilhar em outros sites

  • 0

opa

isso está me parecendo mais um problema de php do que ajax hein. :)

mas bora la.

faz 2 pequenos testes ai, pra ver se rola.

no local onde você tem echo pra imprimir o script, coloca assim:

if(mysql_query($sql)) {
   ?>
   <script>alert("A promoção foi adicionada com sucesso!");</script> // <---- é aqui
   <?
} else {
        echo mysql_error();
}
se mesmo assim não rolar, tenta a mesma coisa, só que retira as tags <script>, assim:
if(mysql_query($sql)) {
   ?>
   alert("A promoção foi adicionada com sucesso!"); // <---- é aqui
   <?
} else {
        echo mysql_error();
}

beleza?! da um retorno ai pra gente saber, to curioso! hehe

at,

Link para o comentário
Compartilhar em outros sites

  • 0

cara,

teu problema é só colocar um alert javascript depois de executar o sql, não é isso?

olha, eu criei um pequeno exemplo aqui, com o codigo que tu postou,

e aqui o alert apareceu na minha tela, eu só não executei o sql porque não crie a base de dados.

echo "<script>alert(\"A promoção foi adicionada com sucesso!\");</script>"; // <---- isso aqui funcionou!

faz seguinte, coloca um alert no else também, onde você tem o echo mysql_error();

ou então antes de executar o sql, você vai ver que o comando funciona assim mesmo.

ah não ser! que o seu problema não seja esse, e todo mundo entendeu errado!

at,

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...