Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

163
Views
Get input value outside iframe

let's say I have this iframe

<iframe id="someID" class="someClass"
frameborder="0" scrolling="no"
src="some link"
style="some style here"></iframe>

And this example of content iframe:

<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>

    <body data_frameName="uniqueBodyIframe" style="zoom: 1;">
        <div class="autocompleteInput">
            <input type="text" autocomplete="off" aria-autocomplete="list" class="react-autosuggest__input" value="some value">
            ... some code....
        </div>
    </body>
</html>

I need to get value from input from this iframe. I am trying to find all iframes on my page (because it is not only iframe). Then I need to get input value, but I don't know how to do it:

oWindow = window.top;
    var iframes = (oWindow).$('iframe');

    for (var i = 0, len = iframes.length; i < len; i++) {
        var iframeDoc = iframes[i].contentDocument ? iframes[i].contentDocument : iframes[i].contentWindow.document;

        if ($(iframeDoc.body).attr('data_frameName') === 'uniqueBodyIframe') {
            var inputValue = 
            
        }
    }

I can't change application infrastructure, so this is only one way to get the unique iframe

 <body data_frameName="uniqueBodyIframe" style="zoom: 1;">
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

First, if you don't have a .class, #id, or some other identifying attribute on target iframe, you can collect all of them inyo a NodeList:

const win = document.querySelectorAll('iframe');

Then determine the index position of target iframe so you can use the bracket notation and index to target iframe. Use the .contentDocument property to hook into the document object within iframe and the .value property to get the input value.

 // This is targeting the third iframe
 let val = win[2].contentDocument.querySelector('input').value;

The example below will not work on SO due to security measures in sandbox. If you want to test it, you can copy and paste it to a text editor and save it with the html extension. (*.html).

const getVal = e => {
  e.preventDefault();
  const io = e.currentTarget.elements;
  const win = document.querySelectorAll('iframe');
  let val = win[2].contentDocument.querySelector('input').value;
  io.view.value = val;
};

const ui = document.forms.ui;
ui.onsubmit = getVal;
<iframe src='example.com' height='10'></iframe>
<iframe src='example.com' height='10'></iframe>
<iframe srcdoc="<!doctype html><html><head></head><body><input value='BINGO!'></body></html>" height='50'></iframe>
<iframe src='example.com' height='10'></iframe>
<form id='ui'>
  <button>Get Value</button><br>
  <output id='view'></output>
</form>

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!