Löysin hyvän esimerkin jota aion sivullani käyttää; http://demos.mootools.net/Ajax.Form
(Tämähän lähettää siis AJAXilla viereiseen diviin tiedot, jossa php tiedosto ottaa ne tiedot GET:illä talteen ilman sivun päivittämistä.)
Ongelmia tulee kuitenkin heti vastaan, kun ajaxia enkä js hallitse.
Teen seuraavasti:
<script type = "text/javascript"> window.addEvent('domready', function(){ $('myForm').addEvent('submit', function(e) { /** * Prevent the submit event */ new Event(e).stop(); /** * This empties the log and shows the spinning indicator */ var log = $('log_res').empty().addClass('ajax-loading'); /** * send takes care of encoding and returns the Ajax instance. * onComplete removes the spinner from the log. */ this.send({ update: log, onComplete: function() { log.removeClass('ajax-loading'); } }); }); }); </script> <h3>Send a Form with Ajax</h3> <form id="myForm" action="tulosta.php" method="get"> <div id="form_box"> <div> <p>First Name:</p> <input type="text" name="first_name" value="John" /> </div> <div class="hr"><!-- spanner --></div> <input type="submit" name="button" id="submitter" /> <span class="clr"><!-- spanner --></span> </div> </form> <div id="log"> <h3>Ajax Response</h3> <div id="log_res"><!-- spanner --></div> </div> <span class="clr"><!-- spanner --></span>
Ja tulosta.php
<?php echo $_GET['first_name']; ?>
Mikä oikein mättää?
Mikäs se ongelma itse oli?
Kun lomakkeesta lähettää niin se siirtyy tulosta.php tiedostoon, kun lomakkeen
tiedot pitäisi saaha tuohon diviin.
<?php print "<pre>".print_r($_POST, true)."</pre>"; ?>
Kokeile tuolla koodilla mikä sieltä löytyy? Mutta muista vaihtaa POST muotoon
Tuo tulosta.php toimii hyvin, mutta ongelmana taitaa olla tämä javascript:
window.addEvent('domready', function(){ $('myForm').addEvent('submit', function(e) { /** * Prevent the submit event */ new Event(e).stop(); /** * This empties the log and shows the spinning indicator */ var log = $('log_res').empty().addClass('ajax-loading'); /** * send takes care of encoding and returns the Ajax instance. * onComplete removes the spinner from the log. */ this.send({ update: log, onComplete: function() { log.removeClass('ajax-loading'); } }); }); });
Mitä tuossa on väärin? IE:llä katsoessa selain valittaa että joitain on tuossa js koodissa väärin. Sivulla on toimiva esimerkki, mutta en vaan saa toimimaan.
(http://demos.mootools.net/Ajax.Form)
Asenna firefoxiin firebug tms. jolla näet virheilmoituksen.
Aihe on jo aika vanha, joten et voi enää vastata siihen.