Ir para conteúdo

Arquivado

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

Marcelo Garbin

[Resolvido] Como recuperar valor elemento IMG atributo ID

Recommended Posts

Bom dia,

 

Gostaria de como posso pegar o valor do ID de um elemento IMG em Jquery, e depois esse valor eu passar para uma var em php para ser gravado no BD?

 

Tenho algo desse jeito paga recuperar o valor:

var currentId = $('img').attr('id');

 

Código completo:

<script type="text/javascript" >
$(document).ready(function(){ 		
 $('#photoimg').live('change', function(){ 
  $("#preview").html('');
  $("#preview").html('<img src="loader.gif" alt="Uploading...."/>');	   
  $("#imageform").ajaxForm({
	  target: '#preview'
  }).submit();
  var currentId = $('img').attr('id');
  alert("Valor retornado: " + currentId);		
  });	 
 }); 
</script>

 

Esse código é do AjaxImageUpload, quero pegar a ID quando aparecer a imagem que o usuário enviar pelo form.

 

Alguma idéia para isso? Pode ser de outra forma.. tentei por session mas não pega a ultima valida.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para pegar a Id de um elemento use o método prop(), pois Id é uma propriedade do elemento e não um atributo.

 

Para enviar para um arquivo PHP faça uma requisição Ajax enviando como parâmetro a Id que você pegou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que dá pra fazer com Jquery.

Tenho um script aqui (uma galeria de fotos) e ele pega os valores dentro

de <img /> assim.

$(img).attr('alt');
$(img).attr('title');
$(img).attr('id');
$(img).attr('class');

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade eu quero pegar o valor da ID da imagem depois que ela aparecer:

Aqui tem o link do que eu quero fazer.

 

Clica no botão, seleciona a imagem ela vai upar e depois aparecer, quando ela aparecer eu quero pegar o ID dela(nesse exemplo ela esta vindo sem o ID pois não defini ainda vai ser um ID variável).

Eu não sei como proceder nesse caso.

 

Alguém poderia me ajudar? tentei o que me passaram ai, mas sem sucesso.

 

O jeito mais "bagaceiro" que consegui resolver esse problema vou com o retorno de um "input hidden" após enviar a imagem, ele retorna com o ID da mesma, após isso faço o cadastro normal com o PHP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se entendi direito, mas testa isso:

 

<script type="text/javascript" src="jquery-1.7.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){ 		
  var a =$('.varias').attr('id');
  $("#ver").html(a);
 }); 
</script>

</head>
<body>
<div id="preview">
<img src="t.png" class="varias"id="1346347683">
</div>
<p id="ver"></p>
</div>
</body>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deu certo :cry: .... Não sei como fazer essa bagaça... :o

Certo, mas esse código pega o id,certo?

O problema está em gravar o id no banco ou seja passar para php?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo, mas esse código pega o id,certo?

O problema está em gravar o id no banco ou seja passar para php?

Não pega o ID... ai que tá... Quer que eu coloque o código aqui pra uma maior analise, mas o funcionamento é esse aqui Ajaximage quando você seleciona a imagem ele vai carregar automaticamente e vai voltar um elemento img mostrando uma miniatura dessa imagem. Porém eu não consigo pegar o ID dessa miniatura que seria para gravar no BD.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acessei Ajaximage e quando carrega a imagem

dentro da tag <img> não consta nenhum id.

Aparece conforme abaixo:

 

<img src="uploads/1346356352.png" class="preview">// não tem id

Nesse code que te passei ele pega o id, mas contudo posta o html ae .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como posso pegar um elemento e mover para dentro de uma div? tipo quero pegar um

<input type="hidden">

e colocar ele dentro de

<div id="oculto"></div>

?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com jquery?? Me manda uma mp explicando melhor o que você deseja fazer.

Atualizei o código em Ajaximage..

É o seguinte, entra ai e envia uma imagem. ai ela vai aparecer la.. depois de aparecer você preenche algo no campo user name e aperta em enviar. eu quero que quando faça isso ele pegue o ID da imagem e os dados do form. É coisa simples se for ver.. mas ta complicando hehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala galera beleza? ta aqui o código para download para quem estiver disposto a me ajudar com essa "encrenca"... acredito se der certo vai ficar legal isso! hehehe

 

Clique aqui

 

Valeuu

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Marcelo.

Não seria possível criar esse id com php aí fica mais fácil você resgatá-lo.

Sugestão.

 

$verid = date("Y-m-d-H-i-s",mktime($hora,$minuto+30,$segundo,$mes,$dia,$ano));//se quiser acrescentar algo mais

if(move_uploaded_file($tmp, $path.$actual_image_name)){
 // $sql = "INSERT INTO tbl_imagens_perfil(id, nome, temp, data) VALUES ('', '$actual_image_name', 'S', '$data')";
 // mysql_query($sql);$id_img_perfil = mysql_insert_id();

  echo "<img src='uploads/".$actual_image_name."'  class='preview' id='".$verid."'>";

  echo "<input type='hidden' name='id_img_perfil' value='".$verid."' class='id_img' />";//aqui envia o id via post 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Marcelo.

Não seria possível criar esse id com php aí fica mais fácil você resgatá-lo.

Sugestão.

 

$verid = date("Y-m-d-H-i-s",mktime($hora,$minuto+30,$segundo,$mes,$dia,$ano));//se quiser acrescentar algo mais

if(move_uploaded_file($tmp, $path.$actual_image_name)){
 // $sql = "INSERT INTO tbl_imagens_perfil(id, nome, temp, data) VALUES ('', '$actual_image_name', 'S', '$data')";
 // mysql_query($sql);$id_img_perfil = mysql_insert_id();

  echo "<img src='uploads/".$actual_image_name."'  class='preview' id='".$verid."'>";

  echo "<input type='hidden' name='id_img_perfil' value='".$verid."' class='id_img' />";//aqui envia o id via post 

 

Sim é isso que vou e quero fazer(o ID vai ser dinamico), porém eu queria recuperar o ID da imagem para que seja salvo na tabela do usuário a ser cadastrado. A tabela "users" tem lá "imagem" onde vai o ID da imagem que é e esta cadastrado na tabela "imagens".

 

Conseguiu me entender?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim eu entendi.

É só você pegar o conteúdo da variavel $verid(como no exemplo)e

jogar ela na query (insert).

Certo até ai não é problema.. problema é recuperar ela pra gravar no cadastro do usuário.. pois a ID da imagem é uma.. e a ID dos dados do user é outra... to fazendo com o campo input type="hidden" depois eu posto do resultado ai... por jquery acho que não vai rolar do jeito que eu gostaria...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da uma olhada ai.. é isso que eu quero!

Clique aqui

Ajustei com CSS.. ta ficando muito bom.. pelo menos pra mim..

analisa ai.. só falta eu centralizar a imagem proporcionalmente conforme a div quando ela aparecer....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tópico Resolvido :grin:

 

Usei dois formulários e um input hidden para conseguir o id da imagem.

 

Segue o link para visualizar o script funcionando Clique aqui

 

Obrigado a todos pela ajuda. :thumbsup:

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.