jquery - How do I prevent a null trigger of an AJAX event? -
with following jquery code have created drop down updates page believe when changes #content returned result counting change event , pulling #sidebar info.
<script> var get_pages_load_options = { target: '#content', data: {ajaxtype: 'content'}, beforesubmit: function() { console.debug('beforesubmit'); }, success: function() { console.debug('successful'); } }; $("#content").on('change','.get_pages',function(){ var submit_page = $(this).attr('rel'); var form_url = $("#"+submit_page).attr('action'); console.debug(submit_page+" & "+form_url); $("#"+submit_page).ajaxform(get_pages_load_options); $.ajax({ type: "post", url: form_url, data: {ajaxtype: "side"}, success: function(data) { console.debug(data); $("#sidebar_menu").html(data); } }); }); </script> the html follows #content:
<div id="content" class="content"> <h1>game updates</h1> <form action="/gameplay/updates/" id="submit_page" name="submit_page" class="get_pages" method="post"> <select name="year" class="get_pages" rel="submit_page"> <option value="2012">2012 -- v1.7.0 - v2.0.0</option> <option value="2011">2011 -- v1.5.3 - v1.6.0</option> <option value="2010">2010 -- v1.3.3 - v1.5.2</option> <option value="2009">2009 -- v1.1.4 - v1.3.2</option> <option value="2008">2008 -- v0.6.0 - v1.1.3</option> <option value="2007">2007 -- v0.1.x - v0.5.5</option> </select> </form> /** update logs **/ <br/><br/> <p> -----------<br /> thank you,<br /> admin deth4uall </p> </div> do know how can prevent second firing of change. thanks!
edit: have regular version default above supposed overwriting below functionality:
$("#content").on('change','.get_pages',function(){ var submit_page = $(this).attr('rel'); $("#"+submit_page).submit(); });
if values undefined, return out of function.
$("#content").on('change','.get_pages',function(){ var submit_page = $(this).attr('rel'); var form_url = $("#"+submit_page).attr('action'); if (!submit_page || !form_url) { return; } //console.debug(submit_page+" & "+form_url); $("#"+submit_page).ajaxform(get_pages_load_options); $.ajax({ type: "post", url: form_url, data: {ajaxtype: "side"}, success: function(data) { //console.debug(data); $("#sidebar_menu").html(data); } }); });
Comments
Post a Comment