Clive van Hilten
Clive van Hilten

Reputation: 881

jQuery replaceWith issue

I have an iframe to a third party system and which, when called, updates a database record and then displays a confirmation message. I'd like to change the text of the confirmation using jQuery, but cannot seem to get it working. This is the code I have so far. The call to the third party system works but the replacement text doesn't appear. Any pointers, please? Thank you.

<script type="text/javascript">

    $.urlParam = function(name){
      var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
      if (!results) { return ''; }
      return results[1] || '';
    }

    var lidval = $.urlParam('lid');
    var cidval = $.urlParam('cid');
    var cyidval = $.urlParam('cyid');
    //construct url
    var crmurl ='http://somerandomhost.com/Portal/index.php?task=unsusbscribe&lid='+lidval+'&cid='+cidval+'&cyid='+cyidval;

    jQuery(function($){
        $('#crm').attr('src', crmurl);
    });

</script>

<iframe frameborder="0" id="crm" scrolling="no" width="100%" src=""></iframe>

<script type="text/javascript">
    function($){
        $('crm').replaceWith('Replacement text goes here');
    };
</script>

Upvotes: 0

Views: 178

Answers (2)

frogatto
frogatto

Reputation: 29285

if you want to show the string into the irframe try this:

PURE JS:

var doc = document.getElementById('crm').contentDocument;
doc.body.innerHTML = 'Replacement text goes here';

jQuery:

var doc = $('#crm')[0].contentDocument;
$(doc.body).html('Replacement text goes here')

Upvotes: 1

Sandeep Chaudhary
Sandeep Chaudhary

Reputation: 11

To change content of an iframe you can Try below code

var ifr = $('#crm')[0].contentWindow.document,
   ifbody = $('body',ifr);
ifbody.html('Replacement text goes here');

Upvotes: 1

Related Questions