2013-02-15 12 views
5

AJAX कॉल के बाद पाठ प्रकट नहीं होता है, मैं कुछ संदेश बॉक्स में div buf जोड़ रहा हूं, लेकिन संवाद फिर से खोलने के बाद टेक्स्ट प्रकट होता है। क्रोम, फ़ायरफ़ॉक्स, आईई 8 पर, यह ठीक काम करता है, लेकिन अर्थात् 7..html काम, लेकिन AJAX अनुरोध


संपादित: मेरे पास एक लिंक पर क्लिक करने के लिए संवाद विंडो है। फिर मैं AJAX अनुरोध करता हूं और एक संदेश प्राप्त करता हूं। संवाद में एक बटन पर क्लिक करने के बाद यह संदेश संवाद विंडो (कुछ div में) में दिखाई देना चाहिए। लेकिन डायलॉग विंडो फिर से खोलने के बाद आईई 7 संदेश में प्रकट होता है।

$("#promised_pay_dialog").dialog({ 
     buttons: { 
      "some button": function(){ 
       if ($('#confirm').is(':checked')) { 
        $.ajax({ 
         url: 'ajax/promisedPayment', 
         type: "POST", 
         data: { 
          subsId:$("#sid").val() 
         }, 
         success: function(buf){ 
          $('#message_box').html(buf); 
          return false; 
         } 
        }); 
       } 
       else { 
        alert("some message"); 
       } 
      }, 
      "some button": function() { 
       $(this).dialog("close"); 
      } 
     }, 
     show: { 
      effect: "blind", 
      duration: 1000 
     }, 
     hide: { 
      effect: "explode", 
      duration: 1000 
     }, 
     modal: true, 
     resizable: false, 
     width: 550, 
     height: 250 
    }); 

समस्या हल, लेकिन नहीं संतोषजनक:

लिंक, कॉल समारोह createDialog("") कोई तर्क के साथ क्लिक करने पर। AJAX अनुरोध के बाद, संदेश प्राप्त करें और createDialog(buf) पर कॉल करें। लेकिन मुझे लगता है कि यह कोई अच्छा समाधान नहीं है। कोई विचार?

function createDialog(mess){ 
    $('#message_box').html(mess); 
    $("#promised_pay_dialog").dialog({ 
     buttons: { 
      "some button": function(){ 
       if ($('#confirm').is(':checked')) { 
        $.ajax({ 
         url: 'ajax/promisedPayment', 
         type: "POST", 
         data: { 
          subsId:$("#sid").val() 
         }, 
         cache:false, 
         success: function(buf){ 
          createDialog(buf); 
         } 
        }); 
       } 
       else { 
        alert("some message"); 
       } 
      }, 
      "some button": function() { 
       $(this).dialog("close"); 
      } 
     }, 
     show: { 
      effect: "blind", 
      duration: 1000 
     }, 
     hide: { 
      effect: "blind", 
      duration: 1000 
     }, 
     modal: true, 
     resizable: false, 
     width: 550, 
     height: 250 
    }); 
} 
+1

साथ निम्नलिखित

$('#message_box').html(buf); 

के बजाय ऐसे पाठ कृपया में सुधार, यह समझना असंभव है। – gdoron

+0

शायद jquery संस्करण के साथ कुछ करने के लिए? मुझे पता है कि पुराने संस्करणों के लिए कुछ समर्थन 2.0 – Techmonk

+0

में गिरा दिया गया था, मेरे पास "a href" क्लिक पर संवाद विंडो है। मैं AJAX अनुरोध करता हूं और संदेश प्राप्त करता हूं। संवाद में क्लिक बटन के बाद यह संदेश संवाद विंडो (कुछ div में) में दिखाई देना चाहिए। लेकिन आईई 7 में संवाद विंडो फिर से खोलने के बाद संदेश दिखाई देता है। –

उत्तर

0

.html() है IE6-8

के साथ मुद्दों के लिए जानता है

$('#message_box').empty().html(buf);