PF2G Posted June 28, 2012 at 05:07 PM Report Share #466237 Posted June 28, 2012 at 05:07 PM (edited) Tenho este pedaço de codigo mas nao escreve nada: <script> $(document).ready( function() { $("#form").submit(function(){ $.post("save.php", $('#form').serialize(), function(data) { $("div.total").val(data['total']); },'json'); }); }); </script> <table> <tr> <td class="descricao">PREÇO POR M.L.:</td> <td style="width:100px; border:1px solid #A5ACB2;" class="valor"><div class="total_met"><?php echo $total_metro;?></div></td> <!--<td style="width:100px; border:1px solid #A5ACB2;" class="valor"><?php echo $rede;?>REDE </td> <td style="width:100px; border:1px solid #A5ACB2;" class="valor"><?php echo $montagem;?> MONT </td> <td style="width:100px; border:1px solid #A5ACB2;" class="valor"><?php echo $transporte;?> TRANSP</td> </tr>--> <tr> <td class="descricao">VALOR TOTAL:</td> <td style="width:100px; border:1px solid #A5ACB2;" class="valor"><div class="total" ><?php echo $total;?></div></td> </tr> </table> Quero pegar no array que esta no save.php e escrever dentro da <div class="total"> Edited June 28, 2012 at 05:08 PM by PF2G Link to comment Share on other sites More sharing options...
yoda Posted June 28, 2012 at 05:47 PM Report Share #466252 Posted June 28, 2012 at 05:47 PM (edited) $("div.total").text(data.total); Edited June 28, 2012 at 05:48 PM by yoda before you post, what have you tried? - http://filipematias.info sense, purpose, direction Link to comment Share on other sites More sharing options...
PF2G Posted June 29, 2012 at 09:22 AM Author Report Share #466352 Posted June 29, 2012 at 09:22 AM Obrigado yoda. 👍 Agora tenho outro formulário onde quero fazer a mesma coisa, mas não me aparece nada, submete-me para o mesma página só que não me dá os resultados... Fiz um alert para ver se aparecia alguma coisa, mas nem o alert aparece 😕 <!----------------------------------------------------------> <script> $(function() { $("#form_ved").submit(function() { $.post("save.php", $('#form_ved').serialize(), function(data) { alert(data_ved.total); //$("div.total_metro_ved").text(data_ved.total_metro); },'json'); }); }); </script> <!----------------------------------------------------------> formulário: <form name="form" id="form_ved" method="post" action="" onSubmit="return false"> <input type="hidden" value="calc_ved" name="action"> (...)---------------------------------------------- <table> <tr> <td class="campo">PREÇO POR M.L.:</td> <?php if ($quantidade < 11) $total_metro=0;?> <td style="width:104px; border:1px solid #A5ACB2;" class="valor"><div class="total_metro_ved"><?php echo $total_metro ." €";?></td> <!--<td style="width:100px; border:1px solid #A5ACB2;" class="valor"><?php echo $rede;?>REDE </td> <td style="width:100px; border:1px solid #A5ACB2;" class="valor"><?php echo $montagem;?> MONT </td> <td style="width:100px; border:1px solid #A5ACB2;" class="valor"><?php echo $transporte;?> TRANSP</td> </tr>--> <tr> <td class="campo">VALOR TOTAL:</td> <td style="width:104px; border:1px solid #A5ACB2;" class="valor"><div class="total_ved"><?php echo $total_metro ." €";?></td> </tr> </table> cálculo: $total= $preco_total_postes + $preco_quant_rede +$suplementos + $preco_deslocamento + $valor_arame_estica +$valor_total_clip +$valor_total_escora +$valor_farpado+$valor_exec_sapatas; $total_metro=$total/$quantidade; $total_ved=number_format ($total,2,',', '.'); $total_metro=number_format ($total_metro,2); $data_ved = array(); $data_ved['total'] = $total; $data_ved['total_metro'] = $total_metro; print json_encode($data_ved); Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 29, 2012 at 09:29 AM Report Share #466353 Posted June 29, 2012 at 09:29 AM alert(data_ved.total); e de onde vem o data_ved ?? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
PF2G Posted June 29, 2012 at 09:33 AM Author Report Share #466356 Posted June 29, 2012 at 09:33 AM na o código (PHP) $total= $preco_total_postes + $preco_quant_rede +$suplementos + $preco_deslocamento + $valor_arame_estica +$valor_total_clip +$valor_total_escora +$valor_farpado+$valor_exec_sapatas; $total_metro=$total/$quantidade; $total_ved=number_format ($total,2,',', '.'); $total_metro=number_format ($total_metro,2); $data_ved = array(); $data_ved['total'] = $total; $data_ved['total_metro'] = $total_metro; print json_encode($data_ved); Link to comment Share on other sites More sharing options...
MASNathan Posted June 29, 2012 at 09:35 AM Report Share #466357 Posted June 29, 2012 at 09:35 AM e falta-te isto $(document).ready( function() { Link to comment Share on other sites More sharing options...
PF2G Posted June 29, 2012 at 09:38 AM Author Report Share #466358 Posted June 29, 2012 at 09:38 AM Experimentei agora e não acontece nada na mesma. E no formulário anterior, tambem nao tenho $(document).ready e funciona 100%. Só este é que não sei o que se passa... Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 29, 2012 at 09:40 AM Report Share #466360 Posted June 29, 2012 at 09:40 AM ora deixa ca ver o que está errado // javascript ... alert(data_ved.total); // php print json_encode($data_ved); onde pus o meu post cheio de link sobre SERVER-SIDE e CLIENT-SIDE !!!! IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
MASNathan Posted June 29, 2012 at 09:42 AM Report Share #466361 Posted June 29, 2012 at 09:42 AM Experimentei agora e não acontece nada na mesma. E no formulário anterior, tambem nao tenho $(document).ready e funciona 100%. Só este é que não sei o que se passa... isso agora depende se tens o codigo js antes ou depois do html o que o $(document).ready é correr o que está la dentro depois do documento estar carregado Link to comment Share on other sites More sharing options...
PF2G Posted June 29, 2012 at 09:44 AM Author Report Share #466362 Posted June 29, 2012 at 09:44 AM (edited) Pronto, o js está dentro do HTML... Talvez o problema esteja no .php onde estão os cálculos, deixem-me verificar... EDIT: nada de errado nos calculos... 😕 Edited June 29, 2012 at 09:49 AM by PF2G Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 29, 2012 at 09:49 AM Report Share #466366 Posted June 29, 2012 at 09:49 AM onde é que dentro deste código está declarada a variável data_ved ??? <script> $(function() { $("#form_ved").submit(function() { $.post("save.php", $('#form_ved').serialize(), function(data) { alert(data_ved.total); },'json'); }); }); </script> IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
PF2G Posted June 29, 2012 at 09:51 AM Author Report Share #466367 Posted June 29, 2012 at 09:51 AM Ele vai buscar ao SAVE.php !!!! $.post("save.php", $('#form_ved').serialize(), function(data) { save.php $total=number_format ($total,2,',', '.'); $total_metro=number_format ($total_metro,2); $data_ved = array(); $data_ved['total'] = $total; $data_ved['total_metro'] = $total_metro; print json_encode($data_ved); Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 29, 2012 at 09:59 AM Report Share #466370 Posted June 29, 2012 at 09:59 AM (edited) se continuas com essa de "vem do php" acho que vou desistir já te disse várias vezes para leres o é SERVER-SIDE e o que é CLIENT-SIDE já te respondi a um post cheio de links para leres .... eu fiz uma pergunta : onde é que dentro deste código está declarada a variável data_ved ??? e tu respondes : "vem do traseiro com magia" !!! quando responderes a minha pergunta terás a tua resposta mas caso não tenhas lido bem eu volto a perguntar: ONDE É QUE DENTRO DESTE CÓDIGO ESTÁ DECLARADA A VARIÁVEL DATA_VED ????? <script> $(function() { $("#form_ved").submit(function() { $.post("save.php", $('#form_ved').serialize(), function(data) { alert(data_ved.total); },'json'); }); }); </script> Edited June 29, 2012 at 10:00 AM by HappyHippyHippo 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
PF2G Posted June 29, 2012 at 10:06 AM Author Report Share #466374 Posted June 29, 2012 at 10:06 AM (edited) Primeiro, falas direito. Já não é a primeira vez que respondes torto... E como podes ver aqui eu tenho as mesmas tretas: Tenho este pedaço de codigo mas nao escreve nada: <script> $(document).ready( function() { $("#form").submit(function(){ $.post("save.php", $('#form').serialize(), function(data) { $("div.total").val(data['total']); },'json'); }); }); </script> <table> <tr> <td class="descricao">PREÇO POR M.L.:</td> <td style="width:100px; border:1px solid #A5ACB2;" class="valor"><div class="total_met"><?php echo $total_metro;?></div></td> <!--<td style="width:100px; border:1px solid #A5ACB2;" class="valor"><?php echo $rede;?>REDE </td> <td style="width:100px; border:1px solid #A5ACB2;" class="valor"><?php echo $montagem;?> MONT </td> <td style="width:100px; border:1px solid #A5ACB2;" class="valor"><?php echo $transporte;?> TRANSP</td> </tr>--> <tr> <td class="descricao">VALOR TOTAL:</td> <td style="width:100px; border:1px solid #A5ACB2;" class="valor"><div class="total" ><?php echo $total;?></div></td> </tr> </table> Quero pegar no array que esta no save.php e escrever dentro da <div class="total"> E não deu problemas. Só que desta vez visto que é outr action mudei o nome da variavel $data para $data_ved... Eu vou buscar os cálculos ao save.php e lá é que crio as variáveis todas. No ficheiro dos formulários vou buscar os cálculos todos.. CAPICHE???? Edited June 29, 2012 at 10:08 AM by PF2G Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 29, 2012 at 10:22 AM Report Share #466379 Posted June 29, 2012 at 10:22 AM Primeiro, falas direito. Já não é a primeira vez que respondes torto... Eu respondo como eu quiser, e se falo troto é porque estou a falar para uma pessoa que tem menor capacidade de LER uma resposta que um bloco de cimento. Isto foi demonstrado vezes sem contra em vários posts/tópicos teus, onde não foste capaz de interiorizar qualquer tipo de informação. Essa situação foi continuamente demonstrada pela repetibilidade dos problemas ou apresentação de posts/tópicos sem a informação necessária, mesmo após o requerimento delas. E como podes ver aqui eu tenho as mesmas tretas: então function(data) { // $("div.total").val(data['total']); alert(data['total']); } é igual a function(data) { alert(data_ved.total); } (alterei a linha para ver se ao menos atinges qual é o problema) E não deu problemas. claro que não deu problemas porque o primeiro código é válido Só que desta vez visto que é outr action mudei o nome da variavel $data para $data_ved... aqui volta a meter o server-side e client-side ao barulho, novamente demonstra que não ligaste nenhum à quantidade de respostas que te foram apresentadas em n tópicos criados por ti anteriormente, onde o problema é relacionado com o AJAX Eu vou buscar os cálculos ao save.php e lá é que crio as variáveis todas. No ficheiro dos formulários vou buscar os cálculos todos.. CAPICHE???? Eu sei perfeitamente o que o(s) script(s) estão a fazer, não preciso que me expliques um par de linhas de código IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
PF2G Posted June 29, 2012 at 10:36 AM Author Report Share #466383 Posted June 29, 2012 at 10:36 AM Epah eu nem me vou chatear muito, precebes se quiseres ajudar, tas a vontade até agradeço, mas não venhas para aqui com me***... Link to comment Share on other sites More sharing options...
MASNathan Posted June 29, 2012 at 10:42 AM Report Share #466384 Posted June 29, 2012 at 10:42 AM olha lá, pelo menos leste o que ele escreveu? function(data) { alert(data_ved.total); } não vês ai nada de errado? Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 29, 2012 at 10:43 AM Report Share #466385 Posted June 29, 2012 at 10:43 AM alert(data_ved.total); e de onde vem o data_ved ?? onde é que dentro deste código está declarada a variável data_ved ??? <script> $(function() { $("#form_ved").submit(function() { $.post("save.php", $('#form_ved').serialize(), function(data) { alert(data_ved.total); },'json'); }); }); </script> function(data) { alert(data_ved.total); } (alterei a linha para ver se ao menos atinges qual é o problema) só não quem não quer ver ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
KTachyon Posted June 29, 2012 at 11:13 AM Report Share #466396 Posted June 29, 2012 at 11:13 AM Tentando responder de outra forma: Não podes passar variáveis directamente entre PHP e JavaScript. O PHP é executado no servidor (server-side) e o JavaScript é executado no browser (client-side). Quando a página sai do servidor, já não contém qualquer código PHP, logo é normal que o browser não saiba onde ir buscar esse valor. Caso tenhas dúvidas, experimenta ver o código fonte da página que chega ao browser. “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare Link to comment Share on other sites More sharing options...
PF2G Posted June 29, 2012 at 11:18 AM Author Report Share #466401 Posted June 29, 2012 at 11:18 AM Este é o output HTML antes e depois do submit: <table> <tr> <td class="campo">PREÇO POR M.L.:</td> <td style="width:104px; border:1px solid #A5ACB2;" class="valor"><div class="total_metro_ved">0 €</div></td> <!--<td style="width:100px; border:1px solid #A5ACB2;" class="valor">Resource id #14REDE </td> <td style="width:100px; border:1px solid #A5ACB2;" class="valor"> MONT </td> <td style="width:100px; border:1px solid #A5ACB2;" class="valor"> TRANSP</td> </tr>--> <tr> <td class="campo">VALOR TOTAL:</td> <td style="width:104px; border:1px solid #A5ACB2;" class="valor"><div class="total_ved"> €</div></td> </tr> </table> Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now