Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho um sistema que listo os campos e atributos de uma tabela através de javascript e ajax até ai tudo, só que os elementos criados e listados em tempo de execução preciso manipula lós através de um seletor como faço pra pegar esse seletor como o id ?
Este é o código que utilizo pra exibir os campos:
if ($_POST['op']=='mostarcampos'){
$_SESSION['bancotabelas']=$_POST['bancotabelas'];
$_SESSION['tabelasbanco']=$_POST['tabelasbanco'];
$pdo = new PDO(DB_SERVER.":host=".DB_HOST.";dbname=".$_POST['bancotabelas'],DB_USER,DB_PASSWORD);
$sql = $pdo->prepare("SHOW FIELDS FROM ".$_POST['tabelasbanco']);
$sql->execute();
foreach($sql as $obj){
echo'
<input id="'.$obj[0].'" type="text" class="form-control" value="'.$obj[0].'" placeholder="'.$obj[0].'" style="width:150px">
<input id="'.$obj[1].'" type="text" class="form-control" value="'.$obj[1].'" placeholder="'.$obj[1].'" style="width:150px">
<input id="'.$obj[2].'" type="text" class="form-control" value="'.$obj[2].'" placeholder="'.$obj[2].'" style="width:150px">
<input id="'.$obj[3].'" type="text" class="form-control" value="'.$obj[3].'" placeholder="'.$obj[3].'" style="width:150px">
<input id="'.$obj[4].'" type="text" class="form-control" value="'.$obj[4].'" placeholder="'.$obj[4].'" style="width:150px">
<input id="'.$obj[5].'" type="text" class="form-control" value="'.$obj[5].'" placeholder="'.$obj[5].'" style="width:150px">
<button id="updatetabela" class="btn btn-default">Alterar</button>
';
}
}
através dele seleciono o banco e a tabela e ele lista pra mim seus campos e atributos preciso pegar o id deles quando estão criados para disparar um evento com o botão e poder alterar a tabela, desde já agradeço a ajuda.
esse ID ai que quero pegar quando escolho o banco e a tabela ele é gerado.

>
Em 27/02/2017 at 18:11, angelorubin disse:
Pode ser feito com ajax.
Como ?
let id = document.querySelector('#IDAqui')
então é exatamente ai que tá o problema o
>
Citar
"#IDAqui"
é que não sei como achar já que ele é criado em tempo de execução
Pq os IDs dos inputs não podem ser fixos?
Tipo "Input1", "Input2", "Input3"...
Em que local do seu documento (header, body) você chama seus scripts?
De qualquer forma coloca eles no final do body e tenta encontrar o id assim:
let id = document.querySelector("#idcidade")
console.log(id)>
4 horas atrás, Pita disse:
Pq os IDs dos inputs não podem ser fixos?
Tipo "Input1", "Input2", "Input3"...
pq são gerados de acordo com o retorno da consulta
>
2 horas atrás, angelorubin disse:
Em que local do seu documento (header, body) você chama seus scripts?
De qualquer forma coloca eles no final do body e tenta encontrar o id assim:
let id = document.querySelector("#idcidade")
console.log(id)
faço tudo vindo de outro arquivo através de ajaxQual erro exibe ao tentar pegar o id?
O problema é que não consigo pegar o id
>
11 horas atrás, vicente386 disse:
pq são gerados de acordo com o retorno da consulta
faço tudo vindo de outro arquivo através de ajax
Pq precisam ser gerados de acordo com a consulta? Na página PHP não pode ter um contador para você ter o controle dos IDs? Somente lembrando que o ID só é utilizado no lado do cliente, na hora do post você usa o name para recuperar a informação.
Só acho que você pode estar querendo desenvolver um monte de controles internos e recursos que se você apenas mudasse a forma de definir o ID já solucionaria este caso
Uma coisa ainda não esta clara, este documento inteiro (html, css e js) é gerado dinamicamente?
>
50 minutos atrás, angelorubin disse:
Uma coisa ainda não esta clara, este documento inteiro (html, css e js) é gerado dinamicamente?
não, só trechos específicos como esse.
Pois então, os scripts precisam estar em algum lugar do documento, certo? onde estão? ou ainda não existem?
do projeto inteiro só falta essa parte que é alteração e update da estrutura da base de dados tá tudo separado visual em um arquivo .php o ajax e javascript em um arquivo .js e manipulação de dados em outro .php mesmo o javascript estando no escopo do documento onde acontecem as visualizações eu cairia na mesma duvida como pegar o seletor de algo que acabou de ser criado bem depois da pagina totalmente carregada ?
Talvez eu não esteja entendendo o problema.
Mas se acabou de ser renderizado/criado o documento (PHP, Asp, etc) e vai haver uma interação do usuário com o documento que acabou de ser criado, se você precisar de algo no lado do servidor pode fazer uma chamada ajax, senão vai ser manipulado o comportamento neste momento com o js. Não sei outra forma de explicar isso.
E sim, faz diferença onde o js (propriamente ou lincado externo) se encontra no documento, as boas práticas dizem para ser colocado no final do body.
Pode ser feito com ajax.