Llevo un par de horas intentando hacer una suma consecutiva (por asi llamarlo) pero que realmente no tiene que devolver nada. Digamos que es simple estetica. La idea es mostrar una cifra de 4 numeros que va cambiando constantemente sin llegar al 2000 y que al darle al boton de enviar, este numero pare.
Como esto estará en la cabecera, la idea es que no se actualice la pagina. Tengo un script ajax de enviar un formulario sin actualizar, tenia la idea de reutilizarlo para mi idea pero no se demasiado de javascript y no soy capaz de reescribirlo correctamente. Dejo el script, a ver si me podias dar un empujón lo mas fuerte posible xD y los mas claros que podais porque si no no entendere nada
Se que hay mucho codigo que sobra pero lo pongo entero, por si acaso estoy borrando algo que no deberia o cualquier otra cosa
RunOnLoad
Código PHP:
Ver original
function runOnLoad(f) { if (runOnLoad.loaded) f(); // If already loaded, just invoke f() now. else runOnLoad.funcs.push(f); // Otherwise, store it for later } runOnLoad.funcs = []; // The array of functions to call when the document loads runOnLoad.loaded = false; // The functions have not been run yet. // Run all registered functions in the order in which they were registered. // It is safe to call runOnLoad.run() more than once: invocations after the // first do nothing. It is safe for an initialization function to call // runOnLoad() to register another function. runOnLoad.run = function() { if (runOnLoad.loaded) return; // If we've already run, do nothing for(var i = 0; i < runOnLoad.funcs.length; i++) { try { runOnLoad.funcs[i](); } catch(e) { /* An exception in one function shouldn't stop the rest */ } } runOnLoad.loaded = true; // Remember that we've already run once. delete runOnLoad.funcs; // But don't remember the functions themselves. delete runOnLoad.run; // And forget about this function too! }; // Register runOnLoad.run() as the onload event handler for the window if (window.addEventListener) window.addEventListener("load", runOnLoad.run, false); else if (window.attachEvent) window.attachEvent("onload", runOnLoad.run); else window.onload = runOnLoad.run;
Script
Código Javascript:
Ver original
$(function() { $('.error').hide(); $('input.text-input').css({backgroundColor:"#FFFFFF"}); $('input.text-input').focus(function(){ $(this).css({backgroundColor:"#FFDDAA"}); }); $('input.text-input').blur(function(){ $(this).css({backgroundColor:"#FFFFFF"}); }); $(".button").click(function() { // validate and process form // first hide any error messages $('.error').hide(); var name = $("input#name").val(); if (name == "") { $("label#name_error").show(); $("input#name").focus(); return false; } var email = $("input#email").val(); if (email == "") { $("label#email_error").show(); $("input#email").focus(); return false; } var phone = $("input#phone").val(); if (phone == "") { $("label#phone_error").show(); $("input#phone").focus(); return false; } var dataString = 'name='+ name + '&email=' + email + '&phone=' + phone; //alert (dataString);return false; $.ajax({ type: "POST", url: "bin/process.php", data: dataString, success: function() { $('#contact_form').html("<div id='message'></div>"); $('#message').html("<h2>Contact Form Submitted!</h2>") .append("<p>We will be in touch soon.</p>") .hide() .fadeIn(1500, function() { $('#message').append("<img id='checkmark' src='images/check.png' />"); }); } }); return false; }); }); runOnLoad(function(){ $("input#name").select().focus(); });
Este funciona bien. El archivo process.php lo unico que hace es enviar un email con los datos del formulario, asi que no creo que sea necesario ponerlo.
Agradeceria la máxima ayuda posible, llevo como 3 horas intentandolo hacer