veaoum Posted June 30, 2015 at 12:01 PM Report #585579 Posted June 30, 2015 at 12:01 PM Boa tarde! Estou a fazer um site e estou a reutilizar código de outro site que já tinha feito. acontece que o ficheiro que tenho é envio.js function showAlert(type,message) { $('#alert').removeClass('alert-error').removeClass('alert-success').addClass('alert-' + type).html(message ).fadeIn(); setTimeout("closeAlert()", 10000); // 6 segundos } $(function() { $('#alert').click(function() { closeAlert(); }); }); function closeAlert() { $('#alert').fadeOut(); } $('form.ajax').on( 'submit',function(){ var activo = $('#check').is(':checked'); var that = $(this), url= that.prop('action'), type= that.prop('method'), data = {}; that.find('[name]').each(function(index,value) { var that=$(this), name=that.prop('name'), value=that.val(); data[name]=value; }); $.ajax({ url: url, type: type, data: data, success:function(response) { if (activo==false){ showAlert('error','<center><h1>Mensagem não enviada</h1>Por favor confirme que aceita as condições.</center>'); } else if (response == "<center><h1>Reserva feita</h1> Agradecemos a sua reserva.</center>") { showAlert('success',response); } else { showAlert('error',response); } } }); return false; }); Acontece que ele funcionava bem e aparecia-me na alerta a informação se tinha ou não sido enviada. Agora quando estava a fazer testes no novo site ele deixou de aparecar direito e passou a carregar a o ficheiro em PHP coisa que eu não queria..... a unica coisa que eu penso que possa ser é terem feito alterações no ficheiro do jquery porque não o tenho alocado directamente e carrego-o através de: <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> Será que ele sofreu alterações?
Rechousa Posted June 30, 2015 at 01:13 PM Report #585582 Posted June 30, 2015 at 01:13 PM Viva, Usa as developer tools do Chrome, Firefox ou IE (Tecla F12). Vê a consola e a tab Network. Espero ter ajudado, Pedro Martins Sharing is Knowledge! http://www.linkedin.com/in/rechousa
veaoum Posted July 1, 2015 at 01:33 AM Author Report #585622 Posted July 1, 2015 at 01:33 AM O que acontece é que antes eu tinha o formulário assim: <form class="form-horizontal ajax" action="reserva.php" method="post" > <div class="form-group"> <label for="inputpercurso" class="col-sm-3 control-label">Percurso:</label> <div class="col-sm-9"> <select class="form-control" id="inputpercurso" name="percurso"> <option value="Histórico Cultural" selected>Segway - Histórico Cultural</option> <option value="Lazer">Segway - Lazer</option> <option value="História e Lazer">Segway - História e Lazer</option> <option value="Bom Jesus">Segway - Bom Jesus</option> <option value="Voltinha">Segway - Voltinha</option> <option value="" disabled></option> <option value="Walking">Walking - Walking</option> <option value="Gastronómico">Walking - Gastronómico</option> </select> </div> </div> <div class="form-group"> <label for="inputnome" class="col-sm-3 control-label">Nome:</label> <div class="col-sm-9"> <input type="text" class="form-control" id="inputnome" name="nome" placeholder="Nome" required> </div> </div> <div class="form-group"> <label for="inputemail" class="col-sm-3 control-label">Email:</label> <div class="col-sm-9"> <input type="email" class="form-control" name="email" id="inputemail" placeholder="email" required> </div> </div> <div class="form-group"> <label for="inputtelefone" class="col-sm-3 control-label">Telefone:</label> <div class="col-sm-9"> <input type="text" class="form-control" id="inputtelefone" name="telefone" placeholder="Telefone" required> </div> </div> <div class="form-group"> <label for="inputpessoas" class="col-sm-3 control-label">Numero de pessoas:</label> <div class="col-sm-9"> <input type="number" min="1" max="8" class="form-control" name="pessoa" id="inputpessoas" placeholder="Pessoas" required> </div> </div> <div class="form-group"> <label for="datepicker" class="col-sm-3 control-label">Data:</label> <div class="col-sm-9"> <input type="text" class="span2 form-control date" name="dia" placeholder="dd/mm/aaaa" required readonly><span class="add-on"><i class="icon-th"></i></span> </div> </div> <div class="form-group"> <label for="inputhora" class="col-sm-3 control-label">Hora:</label> <div class="col-sm-2"> <input type="number" min="1" max="24" class="form-control input-no-spinner" name="hora" id="inputhora" placeholder="HH" required> </div> <div class="col-sm-2"> <input type="number" min="0" max="59" class="form-control input-no-spinner" name="minuto" id="inputhora" placeholder="MM" required> </div> </div> <div class="form-group"> <div class="col-sm-offset-3 col-sm-9"> <div class="checkbox"> <label> <input type="checkbox" name="visto" id="check"> Declaro que li e aceito todas as condições que estão nas FAQs. </label> </div> </div> </div> <div class="form-group"> <div class="col-sm-offset-3 col-sm-9"> <button type="submit" class="btn btn-default">Reservar</button> <div id="alert"></div> </div> </div> </form> E no ficheiro envio.js estava: $('form.ajax').on( 'submit',function(){ var activo = $('#check').is(':checked'); var that = $(this), url= that.prop('action'), type= that.prop('method'), data = {}; that.find('[name]').each(function(index,value) { var that=$(this), name=that.prop('name'), value=that.val(); data[name]=value; }); $.ajax({ url: url, type: type, data: data, success:function(response) { if (activo==false){ showAlert('error','<center><h1>Mensagem não enviada</h1>Por favor confirme que aceita as condições.</center>'); } else if (response == "<center><h1>Reserva feita</h1> Agradecemos a sua reserva.</center>") { showAlert('success',response); } else { showAlert('error',response); } } }); return false; }); Por aquilo que tinha visto o return false fazia com que o action="reserva.php, no formulário não fosse executado o que funcionava até ontem agora ficou a executar do nada eu posso alterar e retirar o action e assim já fica como eu preciso. Mas não haverá nenhuma forma de fazer com que o action não funcione. É que assim eu poderia fazer por exemplo um log in assim caso os dados estivessem correctos ia para uma determinada página caso contrário não sai de onde estava.
veaoum Posted July 1, 2015 at 03:28 AM Author Report #585624 Posted July 1, 2015 at 03:28 AM https://www.youtube.com/embed/GrycH6F-ksY?feature=oembed aqui está um exemplo ele diz que é o return false que faz com que desactive o submit
veaoum Posted July 15, 2015 at 09:10 AM Author Report #586090 Posted July 15, 2015 at 09:10 AM Isto está a acontecer em todo o lado ou é só comigo?
HappyHippyHippo Posted July 15, 2015 at 09:34 AM Report #586092 Posted July 15, 2015 at 09:34 AM durante 15 dias só tiveste uma resposta da qual a ignoraste/não respondeste. acho isso um bom indicativo que toda a gente que tenha visto o tópico ainda se encontra à espera da resposta a essa única resposta IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
veaoum Posted July 15, 2015 at 09:52 AM Author Report #586093 Posted July 15, 2015 at 09:52 AM Desculpa mas isso não corresponde à verdade, posso não o ter frisado mas foi após ver onde me foi aconselhado a dia 30 de Junho que fiquei com a quase certeza que ele estava a ignorar o return false e estava a executar o action na mesma..... e por esse motivo a dia 1 de Julho coloquei tanto o código como um link em que diz que o return false deveria fazer o que eu quero.
HappyHippyHippo Posted July 15, 2015 at 10:37 AM Report #586094 Posted July 15, 2015 at 10:37 AM então porque é que se te disseram para verificar a consola, em nenhuma das tas respostas referes qualquer tipo de informação que ai aparece ? principalmente o caso mais recorrente que faz com que javascript não seja executado : erro de javascript ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
veaoum Posted July 15, 2015 at 10:45 AM Author Report #586096 Posted July 15, 2015 at 10:45 AM Não aparece qualquer tipo de erro, teoricamente ele faz tudo direito.....
HappyHippyHippo Posted July 15, 2015 at 11:28 AM Report #586098 Posted July 15, 2015 at 11:28 AM como confirmaste que está tudo bem ? se existe um erro de javascript, o formulário é enviado o que "limpa" a consola de erros apresentados. como confirmaste que realmente não existe erro ? usaste algum breakpoint e executaste o script passo a passo ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
veaoum Posted July 15, 2015 at 12:50 PM Author Report #586102 Posted July 15, 2015 at 12:50 PM Não sei se existe forma de fazer o breakpoint de outra forma mas usei o alert para garantir que entrava entrava em alguns passos. No site www.bragatours.com tem lá uns formulários e quando submetes deveria aparecer em baixo se foi enviado ou não, quando terminei o site ele estava a trabalhar direito e a fazer as coisas da forma esperada e o estúpido é sem alterar os ficheiros ele deixou de fazer..... achas que tem algum nexo deixar de fazer as coisas sem alterares os ficheiros?
HappyHippyHippo Posted July 15, 2015 at 02:29 PM Report #586107 Posted July 15, 2015 at 02:29 PM normalmente, basta clicar do lado esquerdo da janela de desenvolvimento (no local do código que queres colocar o breakpoint) aparecendo um sinal qualquer. IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
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