更改后获取输入值

时间:2014-10-14 21:38:53

标签: jquery input get set return-value

Html代码:

<input type="text" name="iframe_title" value="null" />
<iframe id="iframe" src="http://www.example.com/somepage.html"></iframe>
<button onclick="steps()">Start !</button>

让我们知道页面http://www.example.com/somepage.html有h1标题这是一个超级标题

function steps()
{
    $('#iframe').load(function()
    {
        $('[name=iframe_title]').prop('value',$('#iframe').contents().find('body').find('h1').text());
        alert($('[name=iframe_title]').val()) /* RETURNS THE CORRECT TITLE - This is a super title */


        if($('[name=iframe_title]').prop('value') == 'This is a super title')
        {
            alert('Well done !');
        }
        else
        {
            alert('NOT WORKING !');
        }
    })
}

响应无效!

我尝试将Chrome控制台与这些行一起使用:

alert($('[name=iframe_title]').val()); // Returns: This is a super title
alert($('#iframe').contents().find('body').find('h1').text()); // Returns: This is a super title

这里有什么问题?

我使用内部步骤函数val(),prop()和attr()来设置和获取输入值。没有。不行......

PS:在Chrome上测试过。

修改

somepage.html可能通过ajax插入内容,但我不认为这是一个问题,因为在设置值后,我立即使用提醒并显示正确的标题文字。

已解决:使用.toString()函数。

if ($('[name=iframe_title]').val().toString() == $('#iframe').contents().find('body').find('h1').text().toString())
{
    alert("It's working now !");
}

0 个答案:

没有答案