将搜索查询附加到iframe src URL

时间:2012-06-21 07:41:49

标签: jquery url search iframe append

我的主页上有一个表单供访问者搜索他们的邮政编码。单击提交按钮后,主页将重定向到另一个具有iframe的内部页面。我希望将搜索查询字符串附加到iframe src URL。

e.g。搜索邮政编码3000会将“?postcode = 3000”附加到iframe src网址

<iframe src="https://www.externalwebsite.com?postcode=3000" class="auto-height" scrolling="no" frameborder="0"></iframe>

这是我在主页上搜索时使用的代码:

<input type="text" onfocus="if(this.value==this.defaultValue) this.value='';" onblur="if(this.value=='') this.value='Submit Postcode...';" value="Submit Postcode..." id="postcodesearchQuery" maxlength="4"/>
<input name="searchbutton" value="" type="button" onClick="location.href='postcode.aspx?postcode=' + $('#postcodesearchQuery').attr('value')" id="postcodesearchbutton" />

这当然会将搜索结果添加到“postcode.aspx”页面的URL中。 例如www.mywebsite.com/postcode.aspx?postcode=3000

是否可以使用jQuery append将?postcode=' + $('#postcodesearchQuery').attr('value')添加到iframe网址src?

修改

如果我将以下内容添加到我的head标签中,则不起作用:

<script type="text/javascript">    
    $('.myiframe' + iFrameID).attr('src', url);
    url += '?postcode=' + postcodeValue;

    function setIFrameSrc(iFrameID, postcodeValue)
{
    var myFrame = $('.myiframe' + iFrameID);
    var url = $(myFrame).attr('src') + '?postcode=' + postcodeValue;
    $(myFrame).attr('src', url);

}
</script>

iframe代码:

 <iframe src="www.externalwebsite.com" class="myiframe" width="100%" height="750px" scrolling="no" frameborder="0"></iframe>

2 个答案:

答案 0 :(得分:2)

您可以使用attr函数设置jQuery:

$('#' + iFrameID).attr('src', url);

当然你必须先设置网址,如下所示:

url += '?postcode=' + postcodeValue;

将这些放入我们得到的函数中:

function setIFrameSrc(iFrameID, postcodeValue)
{
    var myFrame = $('#' + iFrameID);
    var url = $(myFrame).attr('src') + '?postcode=' + postcodeValue;
    $(myFrame).attr('src', url);

}

答案 1 :(得分:1)

您可能不需要jquery,如下所示:

window.frames["postcodesearchQuery"].href += ?postcode=' + ...