Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite a todos,
Parece ser algo fácil e foi assim que eu pensei e deixei meio que pra depois e depois... Mas estou com uma dificuldade enorme, acredito que por ser da forma que programei a página. Veja bem:
Imagem 1:
https://uploaddeimagens.com.br/images/000/612/454/original/p1.jpg?1462144558
Na imagem 1, tenho o ID do arquivo (na coluna do autor, apenas para visualizar mesmo), no caso, o arquivo ("OPA") da primeira linha, possui ID 69. e o segundo arquivo, possui ID 73. E por ai vai... No meu código tenho o seguinte:
<td>
<?php echo $linha["ARQ_ID"]; ?>
<input type="hidden" name="myhid" value="<?php echo $linha['ARQ_ID']; ?>">
<strong><?php echo $linha["AUT_NOME"]; ?></strong> <br><br>
<button type="submit" class="btn-sm btn-default" value="<?=$linha['ARQ_ID'];?>" data-toggle="modal" name="alt-autor" id="alt-autor" data-target="#modal-autor" >Editar</button>
</td>
Acontece que, desta forma, eu passo apenas o ID $linha['ARQ_ID'], do último arquivo da página. Por exemplo, se tenho 5 arquivos por paginação, quando clico em Editar, ele passa o valor do ID do arquivo 5 da página 1, por exemplo. Eu preciso pegar o ID da linha onde cliquei.
O <button> não consegue passar o value para outra página, da undefined index alt-autor. Eu fiz várias modificações e quando não da undefined, fica em branco ou quando passa um parâmetro... Ele passa sempre o último do while de busca da tabela.
OBS: Eu já tive esta dificuldade e eu consegui resolvê-la adicionando o button que está no código acima com o value tudo mais ou menos do jeito que está, porém ele não puxava um modal, testei ele de várias formas e não deu certo...
OBS 2: O ID do autor eu não passo pelo botão Editar. Eu não preciso passá-lo na verdade... Eu preciso pegar o ID do novo autor, que eu pego quando abre o modal ao clicar em editar, favor ignorar a OBS da imagem 1 onde informo que o id do autor passa, na verdade eu não puxo o id do autor da tabela, pois não precisa!
Imagem 2:
https://uploaddeimagens.com.br/images/000/612/455/original/p2.jpg?1462144648
Na imagem 2, é um outro probleminha... Eu não sei porque ele inventa de passar a página se eu clicar em qualquer parte do modal, ou fundo do modal, exceto os botões e combobox. Por exemplo, se eu clicar no nome dos autores que está no select do modal, eu seleciono normal, se eu clicar em Editar ele puxa um action normal, se eu clicar em Fechar Editar, ele fecha, mas se eu clicar no fundo branco ou no fundo opaco, ele mostra que vai para pagina=2. WTF? Não fiz nenhum .js pra isso Oo
Imagem 3 (outra forma desejável):
https://uploaddeimagens.com.br/images/000/612/456/original/p3.jpg?1462144652
Na imagem 3, é a forma que eu "imaginava" que conseguiria fazer, é a "forma certa" vamos dizer assim... Para não ficar essa coisa horrível de 1 botão em cada campo, eu clicava na ação a ser feita, no caso atualizar, e ai montava minha página de edição DAQUELA LINHA ESPECÍFICA, ou seja, daquele arquivo específico! Porém não consegui puxar os dados, é praticamente quase o mesmo problema da imagem 1.
OBS IMPORTANTE:
Eu uso um <form> somente para toda a minha página! Imagino que não seja o correto, mas não foi possível eu atribuir tantas passagens de parâmetros com vários forms.
Eu não conseguia manipular as informações na minha página principal e muito menos nas outras páginas quando usava vários forms... Pois eu precisava abrir a página de visualização de pdf, editar, cadastrar, excluir, relatórios, etc, etc... Então eu fiz o seguinte:
function add_action() {
document.getElementById("form-busca").action = "visualiza_p.php";
document.getElementById("form-busca").submit();
}
function add_edit() {
document.getElementById("form-busca").action = "editar/editar_autor_arquivo.php";
document.getElementById("form-busca").submit();
}
E ai no botão onde eu quero passar as informações do meu <form> principal para outra página, eu apenas puxo a função que atribui ao meu form um action e então eu o executo. =)Bom dia galera,
Consegui resolver, não exatamente da forma como eu queria, mas foi o único jeito que o tempo x conhecimento me permitiu...
Eu passo na página de busca apenas o botão Atualizar e ao clicá-lo, ele consegue encaminhar o ID do arquivo da linha para ser manipulado em outra página. Eu gostaria que ele encaminhasse todos os valores (id arquivo / autor / disciplina / etc).
Mas então eu acabei fazendo em outra page o editar do arquivo, dai nesta outra page eu trago o arquivo com um select puxando ele e todas as dependencias de tabelas N:N, formando assim uma nova tabela idêntica, porém com apenas as informações daquele arquivo ao qual cliquei e dentro dele, eu joguei os botões de editar em cada campo, abrindo o modal. O que não era "possível" com o botão atualizar na mesma page, pois ele se abrisse o modal, não passava o valor do ID-Arquivo e se passasse o ID não traria evento de abrir o modal, tentei com todo jeito possível, com submit, sem submit, isset no botão, JS, Ajax, funções de atribuir elemento .setAttribute após passar o ID-Arquivo e nada adiantou. Então ficou mais ou menos isso... Obrigado deixo aqui uma imagem +/-
Não postarei o código pois ficou bastante extenso, mais de 500 linhas, o arquivo total deu 1300+. E também não indico da forma que eu fiz, até porque com certeza não é uma boa prática.
/applications/core/interface/imageproxy/imageproxy.php?img=https://uploaddeimagens.com.br/images/000/613/467/original/OK.jpg?1462287836&key=48064faeca846cb4c96c51a6b5a63c3ae2db29c7108aa1a27324748218d55a45" alt="OK.jpg?1462287836" />
Pessoal...
Elaborei uma Gambi (minha especialidade) que quaaaaaaaaaaaase deu certo... Me ajudem a descobrir onde foi que errei... Olha só:
Seguinte... Nesta função temos 2 "formas", onde via JS as linhas comentadas eu removi os elementos "data-toggle" e "data-target", pois observei que com eles eu não consigo atribuir o value do botão para uma variável ou qualquer outra coisa, resumidamente falando é: quando uso este atributo no button, ele executa ele antes de atribuir qualquer outra ação, mesmo colocando o atributo depois do value, depois de tudo, enfim..
Utilizando o setAttribute para adicionar este atributo no evento onclick do botão, ele funciona apenas na primeira linha, por exemplo, se eu clicar no editar da linha arquivo 2, ele faz como se desse refresh na página, quando clico no editar da linha arquivo 1, ele abre o modal com o ID do arquivo da linha 2, ou da linha 3, ou da última que eu cliquei exceto a primeira, bem, abandonei essa forma.
Utilizando o $('#mdd').live(), ele faz o que promete, porém ele mostra o modal e some, sem falar que a primeira vez que eu clico, ele nao mostra o valor, dai eu clico de novo e em qualquer linha, ele mostra o valor (sempre da última que cliquei e não da atual, ou seja, da penúltima que eu cliquei)
Nem eu entendi direito o que ta acontecendo mas... Um teste e que funciona 100% mas não consegui aplicar isto direito:
E na minha outra página:
Desta forma, o id sempre passa correto! Mas ai é um botão que eu criei a parte, eu não consigo passar este id paga o modal, eu não quero passar para outra página, preciso passar isso para o modal, apenas isto...
Só que ai, se eu passar o id, eu não chamo o modal, se eu chamar o modal, da undefined index no id.