samash samash - 9 days ago 7
Javascript Question

wants to replace the iframe based on Onlclick

I wants to replace the iframe, if user clicks on getPrice button again by selecting different input.I have written code and tried several things but nothing worked out. everytime I cant use document.body.appendchild(). My code is below. Please suggest here.

function getPrice()[
var ifrm = document.createElement('iframe');
ifrm.id = "frameID";
ifrm.setAttribute('src', 'http://40.85.176.227/invoke/Tier1ICLStd_New.Price/getPrice?CloudName=Azure East
ifrm.setAttribute('align', 'right');
//ifrm.setAttribute('marginheight', '50');
ifrm.style.margin= "auto";
ifrm.scrolling="no";
ifrm.style.border= "0";
ifrm.style.margin= "0";
//document.body.insertBefore(ifrm, document.body.firstChild);
//alert();
if(document.getElementById("frameID")==null)
{
document.body.appendChild(ifrm);
}
else
{
alert("Else"); // I am getting control till here but what code to replace the existing iframe.
//var item = document.getElementById("frameID").childNodes[0];
item.replaceChild(ifrm,item.childNodes[0]);
alert("test");
document.body.appendChild(ifrm);

//ifrm.parentNode.replaceChild(ifrm, ifrm);
}
}

Answer

If you want to update the iframe content, you just need to use something like this :

function updateIframeSrc(newSrc) {
    document.getElementById("frameID").src = newSrc;
}

EDIT : Add exemple with HTML declaration to answer a comment.

<div class="frameClass">
    <iframe id="frameID" width="100%" height="1080" frameborder="0" scrolling="auto" marginheight="0" marginwidth="0"
        src="http://svn.min.not/metasite/trunk/docs/README.md">
    </iframe>
</div>
Comments