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

Passar Valor De Link Para Input Text


Norivan Oliveira

Pergunta

Seguinte galera tenho um sistema onde há uma pagina de cadastro com fotos, os campos das fotos são input text, do lado de cada campo foto tem um link upload de imagem que abre uma janela popup que faz o upload da imagem e depois da o nome dela (ela é renomeada em md5).

Quero que a pessoa clique neste nome e o mesmo apareca no campo da foto na pagina de cadastro, tem como?

Obs: Caso não tenha entendido va ate http://www.mrdesigners.com/sopickup/cadastro.php clique em fazer upload, mande uma foto e leia o que tah escrito

Editado por Mr.Bam
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Sei que talvez rejeite minha humilde opinião, mas o que deseja fazer não me parece uma solução muito boa (embora seja, também, uma solução). Acho que seria interessante que o usuário tivesse, em sua lista de fotos, os nomes originais das figuras, exatamente para que ele não envie duplicatas. Pense nisso. Quanto a enviar o nome para a página que abre a janela de upload, que tal usar "window.opener"?

Link para o comentário
Compartilhar em outros sites

  • 0

Bem meu caro estes sistema é só um exercicio, depoois agente pensa na questao do usuário, mas me fala ai como usar windows.opener para passar este valor?

E qual a funcao pra passar o valor?

Editado por Mr.Bam
Link para o comentário
Compartilhar em outros sites

  • 0

Fiz um exemplo simples pra você dar uma olhada...

Arquivo "teste1.html":

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>
&lt;script type="text/javascript">
function upload_foto(posicao)
{
    window.open('teste_up.php?opt=1&p=' + posicao, 'Upload_Teste','menubar=no,location=no,resizable=no,scrollbars=no,status=yes,width=300px,height=300px');
}

function define_nome_foto(nome, posicao)
{
    document.getElementById('campo_' + posicao).value = nome;
}
</script>
</head>
<body>

<form>
Foto 1: <input type="text" id="campo_1" name="campo_1" value=""> <a href="#" onclick="upload_foto(1);">fazer upload</a> <br>
Foto 2: <input type="text" id="campo_2" name="campo_2" value=""> <a href="#" onclick="upload_foto(2);">fazer upload</a> <br>
Foto 3: <input type="text" id="campo_3" name="campo_3" value=""> <a href="#" onclick="upload_foto(3);">fazer upload</a> <br>
Foto 4: <input type="text" id="campo_4" name="campo_4" value=""> <a href="#" onclick="upload_foto(4);">fazer upload</a> <br>
</form>

</body>
</html>
Arquivo "teste_up.php":
<html>
<body>
<?php

 $opcao = $_GET["opt"];

 switch ($opcao)
 {
     case "1":
         echo "<form enctype=\"multipart/form-data\" method=\"post\" action=\"teste_up.php?opt=2&p=". $_GET["p"] ."\">\n";
         echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"30000\">\n";
         echo "Arquivo: <input type=\"file\" name=\"up_teste\"><br>\n";
         echo "<input type=\"submit\" name=\"submit\" value=\"Enviar\">\n";
         echo "</form>\n";

         break;

     case "2":
         if ($_POST["submit"])
         {
             echo "&lt;script type=\"text/javascript\">\n";
             echo "window.opener.define_nome_foto('" . $_FILES["up_teste"]["name"] . "'," . $_GET["p"] . ");\n";
             echo "window.close();\n";
             echo "</script>\n";
         }
         break;
 }
?>
</body>
</html>

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

  • 0

Obrigado CSML, deu certinho o seu codigo mas quando eu tento colocar o meu codigo de upload no case 2 não funciona, mesmo eu tirando todas as funções e deixando só a de upar o arquivo, veja

<?php
$opcao = $_GET["opt"];

switch ($opcao)
{
     case "1":
         echo "<form enctype=\"multipart/form-data\" method=\"post\" action=\"teste_up.php?opt=2&p=". $_GET["p"] ."\">\n";
         echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"30000\">\n";
         echo "Arquivo: <input type=\"file\" name=\"foto\"><br>\n";
         echo "<input type=\"submit\" name=\"submit\" value=\"Enviar\">\n";
         echo "</form>\n";

         break;

     case "2":
         if ($_POST["submit"])
         {
             $arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;

            $config["tamanho"] = 15000;
            $config["largura"] = 800;
            $config["altura"] = 600;
            $imagem_dir = "fotos/" . $imagem_nome;
            move_uploaded_file($arquivo["tmp_name"], $imagem_dir);

             echo "<script type=\"text/javascript\">\n";
             echo "window.opener.define_nome_foto('" . $_FILES["up_teste"]["name"] . "'," . $_GET["p"] . ");\n";
             echo "window.close();\n";
             echo "</script>\n";
         }
         break;
}

?>

Não ocorre nenhuma msg de erro nem warning mas também num upa

Link para o comentário
Compartilhar em outros sites

  • 0

O $imagem_nome era pra criptografacao MD5 agora tirei, passei o $imagem_nome para $_FILES["foto"]["name"] como isso acho que ele vai pegar o valor do input file FOTO certo?

O echo "window.opener.define_nome_foto('" . $_FILES["up_teste"]["nam...

subtitui por echo "window.opener.define_nome_foto('" . $_FILES["foto"]["nam...

-----

Ele tá passando o valor pro campo mas continua não upando a imagem, acho que o erro esta nesta linha aqui

$imagem_dir = "fotos/" . $_FILES["foto]["name"] ;

no . $_FILES["foto"]["name"] ;

Mas o que devo por no lugar pra ele pegar o nome da imagem?

Veja ele online: http://www.mrdesigners.com/teste1.html

Codigo:

<?php
$opcao = $_GET["opt"];

switch ($opcao)
{
     case "1":
         echo "<form enctype=\"multipart/form-data\" method=\"post\" action=\"upload1.php?opt=2&p=". $_GET["p"] ."\">\n";
         echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"30000\">\n";
         echo "Arquivo: <input type=\"file\" name=\"foto\"><br>\n";
         echo "<input type=\"submit\" name=\"submit\" value=\"Enviar\">\n";
         echo "</form>\n";

         break;

     case "2":
         if ($_POST["submit"])
         {
             $arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;
            
            preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);
            
            $config["tamanho"] = 15000;
            $config["largura"] = 800;
            $config["altura"] = 600;
            $imagem_dir = "fotos/" . $_FILES["foto"]["name"];

            move_uploaded_file($arquivo["tmp_name"], $imagem_dir);

             echo "<script type=\"text/javascript\">\n";
                 echo "window.opener.define_nome_foto('" . $_FILES["foto"]["name"] . "'," . $_GET["p"] . ");\n";
             echo "window.close();\n";
             echo "</script>\n";
         }
         break;
}

?>

Editado por Mr.Bam
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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...