Jump to content
Fórum Script Brasil
  • 0

Passar Valor De Link Para Input Text


Norivan Oliveira
 Share

Question

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

Edited by Mr.Bam
Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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?

Edited by Mr.Bam
Link to comment
Share on other 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>

Edited by CSML sistemas
Link to comment
Share on other 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 to comment
Share on other 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;
}

?>

Edited by Mr.Bam
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...