Div innerHTML not updating during jquery ajax calls -
i facing problem while updating div's html.
html code div is
<div id="divforlog" style="z-index:200000;overflow:auto;position:fixed;width:400px;height:300px;border:solid 2px gray;padding:10px;background-color:#f1f1f1"> </div>
onclick of button call code shows hidden div. , takes array of string contains page ids. each id call ".ashx" page using jquery , on success update div's html. works fine in firefox not in other browsers(chrome , ie). @ end of function , hide div using jquery "slideup" method , sliding works in frefox,ie , chrome , shows inner html of div before disappearing. main problem div not shown , updated. in javascreipt theere div's reference used progress bar , doesn't show in ie , chrome.
javascript code below:
var progress=0; var totalpages; var logstring=""; function getprogressbarvalue(){ var s = '<span style="text-align:center;display:block">' + math.round($("#progressbar").progressbar( "option", "value" )) + '%</span>'; return s; } function updateprogressbar(arg){ if(arg == 0){ var pvalue = (progress / totalpages) * 70; $("#progressbar").progressbar( "option", "value", pvalue ); } else{ $("#progressbar").progressbar( "option", "value", 100 ); } } function getpagename(pageid) { return pagename; //string } function displaylogdiv(){ $("#divforlog").css("display",""); $("#divforlog").css(("top"),300); $("#divforlog").css(("left"),300); $("#divforlog").html(""); $("#divforlog").slidedown(); $("#progressbar").css(("top"),280); $("#progressbar").css(("left"),300); $("#progressbar").show(); $("#progressbar").progressbar({ value: 0 }); $("#progressbar").progressbar( "option", "value", 0 ); logstring = ""; progress=0; totalpages; } function addlog(logstr){ $("#divforlog").html(getprogressbarvalue() + logstring ); } $('#mybutton').click(function(){ displaylogdiv(); $('#customerdetails').show(); var pageids;//it hidden field pageids = pageids + ","; var pagearray = pageids.split(","); totalpages = pagearray.length-1; (var i=0;i<pagearray.length;i++){ //loop start here if(pagearray[i] != ''){ progress = progress + 1; $.ajax({ contenttype: "text/html; charset=utf-8", data: somedatatobepassed , url: "publishintermediate.ashx", datatype: "html", async: false, cache:false, success: function(data) { } }); updateprogressbar(0); } } $.ajax({ contenttype: "text/html; charset=utf-8", data: somedatatobepassed, url: "publishintermediate.ashx", datatype: "html", async: false, cache:false, success: function(data) { updateprogressbar(100); addlog(data); } }); $('#customerdetails').hide(); $('#divforlog').slideup(500); $('#progressbar').slideup(500); return false; });
regards ulfat hussain
these codes
$('#customerdetails').hide(); $('#divforlog').slideup(500); $('#progressbar').slideup(500);
inside ajax success state,
Comments
Post a Comment