Sunday, 15 April 2012

javascript - Jquery,Ajax not triggering the right php function -



javascript - Jquery,Ajax not triggering the right php function -

hi have little project in have 2 tabs i.e news , edit-news. news tab show news default when open page. when user switch edit-news tab can select selectbox whether wants news lastly 4 weeks or 6 weeks. , on select , on submit button click can 1 time again switch news tab edited news.till able manage tabs properly. problem facing here when user select news select-box , submit button not able trigger save-news-widget function phone call database query part upadte news.so after submit button triggering get-news-widget function , getting default news not edited news.thanks. here code:

dashboard.php

if($param['aktion'] == 'save-widget-news') { //$param['news'] //update sql... $page['register-news'] = array( 1 => array( 'news','aktiv',$page['script'],'',''), 0 => array( 'edit news','enabled',$page['script'],''), ); //echo $selectvalue=$_post['news']; if(isset($_post['save'])) { if(($selectvalue)==4){ echo $sql=" select distinct ad_news_texte.headline, ad_news.datum_archiv ad_news_texte inner bring together ad_news_oe on ad_news_texte.news_id = ad_news_oe.id_ad_news inner bring together ad_news on ad_news_oe.id_ad_news = ad_news.id ad_news.datum_archiv between curdate( ) - interval dayofweek( curdate( ) ) +28 day , curdate( ) "; $sql_select=mysql_query($sql); } elseif(($selectvalue)==6){ $sql=" select distinct ad_news_texte.headline, ad_news.datum_archiv ad_news_texte inner bring together ad_news_oe on ad_news_texte.news_id = ad_news_oe.id_ad_news inner bring together ad_news on ad_news_oe.id_ad_news = ad_news.id ad_news.datum_archiv between curdate( ) - interval dayofweek( curdate( ) ) +42 day , curdate( ) "; $sql_select=mysql_query($sql); } $html = '<table width="538" cellspacing="0" cellpadding="0" border="0"> <tr> <td> <div>'.createregister($page['register-news']).'</div> '.createmessage().' <div class="cont-liste-verlauf register"> '; while($row = mysql_fetch_array($sql_select)){ $news_result = $row['headline'] . " " .$row['datum_archiv'] ; $html .= '<table id="news"> <div class="welcome-rahmen krz togglenews"> <p class="welcome-subheadline"><input type="hidden" name="type" value="'. $news_result .'" ></p> '; } $html .= '</div></table> </div> </td> </tr> </table>'; $return = array( 'status' => 1, 'html' => $html ); echo json_encode($return); die(); } else{ $param['aktion'] = 'get-widget-news'; } } if($param['aktion'] == 'get-widget-news') { $newsid = 1; $page['register-news'] = array( 1 => array( 'news','aktiv',$page['script'],''), 0 => array( 'edit-news','enabled',$page['script'],'',''), ); $param['aktion'] = 'save-widget-news'; $html = '<table width="538" cellspacing="0" cellpadding="0" border="0" > <tr> <td> <div>'.createregister($page['register-news']).'</div> '.createmessage().' <div class="cont-liste-verlauf register"> <table id="news"> <div class="welcome-rahmen lng togglenews" id="news_269_kurz"> <a href="news.php?id=269" class="tracknews" id="01" target="_blank"> <p class="welcome-breadcrump">montag, 19.05.2014</p> <p class="welcome-subheadline">teilnahme von man top used der samoter 2014</p> </a> </div> <div class="welcome-rahmen lng togglenews" id="news_264_kurz"> <a href="news.php?id=264" class="tracknews" id="02" target="_blank"> <p class="welcome-breadcrump">freitag, 24.01.2014</p> <p class="welcome-subheadline">kaufvertrag: neue porsche-vorlage zum drucken!</p> </a> </div> </table> </div> </td> </tr> </table>'; $return = array( 'status' => 1, 'html' => $html ); echo json_encode($return); die(); } if($param['aktion'] == 'get-widget-news-edit') { $page['register-news'] = array( 0 => array( 'news','enabled',$page['script'],'',''), 1 => array( 'edit news','aktiv',$page['script'],''), ); $html = '<table width="538" cellspacing="0" cellpadding="0" border="0"> <tr> <td> <div>'.createregister($page['register-news']).'</div> '.createmessage().' <div class="cont-liste-verlauf register"> <form name="userinformationform" method="post" > <table id="news"> <select name="news" id="news"> <option value="4">show news lastly 4 weeks</option> <option value="6">show news lastly 6 weeks</option> </select> <br/><br/> </table> '.createbutton($page['button']).' </form> </div> </td> </tr> </table>'; $return = array( 'status' => 1, 'html' => $html ); echo json_encode($return); die(); }

dashboard.js

$(document).ready(function(){ function savenewswidget() { var selectboxvalue = $('select[name="news"]').val(); $.ajax({ type: "post", url: "ajax/dashboard.php", datatype : 'json', cache: false, data: {'aktion' : 'save-widget-news', 'news' : selectboxvalue}, success: function(data) { //getnewswidget(); $('#news').html(data['html']); } }); } function getnewswidget() { $.ajax({ type: "post", url: "ajax/dashboard.php", datatype : 'json', cache: false, data: {'aktion' : 'get-widget-news'}, success: function(data){ //alert(data); $('#news').html(data['html']); }, error: function(data){ alert('error'); //$('#news').html(data.html); } }); } function getnewswidgetedit() { $.ajax({ type: "post", url: "ajax/dashboard.php", datatype : 'json', cache: false, data: {'aktion' : 'get-widget-news-edit'}, success: function(data){ $('#news').html(data.html); } }); } $('#news .butt-rahmen').live('click', function(){ if($(this).attr('id') == 'saveid') { savenewswidget(); } homecoming true; }); getfahrzeugewidget(); getnewswidget(); });

it looks me you're submitting page running ajax call. need stop page submitting this...

$('#news .butt-rahmen').live('click', function(e) { e.preventdefault(); // stop form beingness submitted , reloading page if($(this).attr('id') == 'saveid') { savenewswidget(); } });

notice e beingness passed function parameter well.

also, i'm assuming you're using older version of jquery since live() has been deprecated , replaced on(). if using newer version you'll need alter too. have there, literally alter live on.

javascript php jquery html ajax

No comments:

Post a Comment