对于坚持使用当前设置的客户,他有一个表单,该表单在提交时在iframe中加载ASP文件。
由于我过去几年才在这个领域工作,所以我在使用iFrame或ASP方面几乎没有经验,所以你能给我的任何帮助将不胜感激。
表单在侧边栏中.php...
<form method="post" action="http://www.vebra.com/home/quick/PFrefine.asp" name="searchform">
<dl id="property_search">
<dt class="bord">Bedrooms</dt>
<dd><select name="bed" class="type1 Selectrooms">
<option selected="selected" value="1">0</option>
<option value="2">2</option>
<option value="3">2</option>
<option value="4">3</option>
<option value="5">4</option>
<option value="6">5</option>
</select>
</dd>
<dt class="bord">Minimum Price</dt>
<dd><select class="type2 SelectPrices" name="lop">
<option value="0" selected>£0</option>
<option value="25000">£25,000</option>
<option value="50000">£50,000</option>
<option value="75000">£75,000</option>
<option value="100000">£100,000</option>
<option value="125000">£125,000</option>
<option value="150000">£150,000</option>
<option value="175000">£175,000</option>
<option value="200000">£200,000</option>
<option value="225000">£225,000</option>
<option value="250000">£250,000</option>
<option value="275000">£275,000</option>
<option value="300000">£300,000</option>
<option value="325000">£325,000</option>
<option value="350000">£350,000</option>
<option value="375000">£375,000</option>
<option value="400000">£400,000</option>
<option value="500000">£500,000</option>
<option value="600000">£600,000</option>
<option value="700000">£700,000</option>
<option value="800000">£800,000</option>
<option value="900000">£900,000</option>
<option value="1000000">£1,000,000</option>
<option value="2000000">£2,000,000</option>
<option value="3000000">£3,000,000</option>
<option value="4000000">£4,000,000</option>
<option value="5000000">£5,000,000</option>
<option value="6000000">£6,000,000</option>
</select>
</dd>
<dt class="bord">Maximum Price</dt>
<dd><select name="hip" class="type3 SelectPrices">
<option value="25000">£25,000</option>
<option value="50000">£50,000</option>
<option value="75000">£75,000</option>
<option value="100000">£100,000</option>
<option value="125000">£125,000</option>
<option value="150000">£150,000</option>
<option value="175000">£175,000</option>
<option value="200000">£200,000</option>
<option value="225000">£225,000</option>
<option value="250000">£250,000</option>
<option value="275000">£275,000</option>
<option value="300000">£300,000</option>
<option value="325000">£325,000</option>
<option value="350000">£350,000</option>
<option value="375000">£375,000</option>
<option value="400000">£400,000</option>
<option value="500000">£500,000</option>
<option value="600000">£600,000</option>
<option value="700000">£700,000</option>
<option value="800000">£800,000</option>
<option value="900000">£900,000</option>
<option value="1000000">£1,000,000</option>
<option value="2000000">£2,000,000</option>
<option value="3000000">£3,000,000</option>
<option value="4000000">£4,000,000</option>
<option value="5000000">£5,000,000</option>
<option selected value="6000000">£6,000,000+</option>
</select>
</dd>
<dt>Regions</dt><dd><img src="images/spacer.gif" alt="" /></dd>
<dt><input type="checkbox" name="cou" id="couHertfordshire" value="43"/></dt><dd>Hertfordshire</dd>
<dt><input type="checkbox" name="cou" id="couLondonNorth" value="126" /></dt><dd>London, North</dd>
<dt><input type="checkbox" name="cou" id="couLondonNorthWest" value="127" /></dt><dd>London, North West</dd>
<input type="hidden" name="slo" value="undefined" />
<input type="hidden" name="fid" value="894" />
<input type="hidden" name="bid" value="0" />
<input type="hidden" name="dbt" value="1" />
<input type="hidden" name="nre" value="undefined" />
<input type="hidden" name="thu" value="undefined" />
<input type="hidden" name="vto" value="undefined" />
<input type="hidden" name="ord" value="undefined"/>
<input type="hidden" name="nba" value="undefined" />
<dt><input type="submit" class="search_now" value="Find Property" formtarget="hello" /></dt><dd><img src="images/spacer.gif" alt="" /></dd>
</dl>
</form>
还有我想测试的结果页面.php...
<iframe width="583" height="500" name="hello">iframe</iframe>
不幸的是,我根本无法访问 ASP 处理程序文件。
基本上,当您在侧边栏中填写表单并单击提交按钮时,我希望浏览器重定向到结果页面并使用结果加载 iframe。
这可能吗?
如果 iFrame 中的页面能够接受 GET 和 POST 数据,则可以将数据发布到包含 iFrame 的页面,然后使用您选择的语言将其作为查询字符串追加到 iFrame 的 src 标记。
或者,如果 iFrame 中的页面只接受 POST 数据,例如,因为编写它的人出于(感知的)安全原因阻止它接受 GET 数据,您可以使用您选择的语言在包含 iFrame 的目标页面中编写另一个表单,然后自动将其(使用 JavaScript)提交到 iFrame,将该表单的目标设置为 iFrame。(请注意,这与上面的 JQuery 示例略有不同,后者使用查询字符串。
这是上面第一个解决方案的示例:
第一页的表格:
<form name="frmPost" method="post" action="test_iframe_post_target.php">
<input type="hidden" name="actionid" value="2" />
<input type="hidden" name="qy" value="1" />
<input type="hidden" name="pid" value="123" />
</form>
<p><a href="javascript:document.frmPost.submit();">Submit Form</a></p>
目标页面:
<?php
$lngAction = $_POST["actionid"];
$lngQy = $_POST["qy"];
$lngPID = $_POST["pid"];
?>
<p>This is the target page. Action is: <?php echo $lngAction; ?></p>
<iframe name="test_iframe" width="900" height="320" src="test_iframe_post_iframe.php?action=<?php echo $lngAction; ?>&qy=<?php echo $lngQy; ?>&pid=<?php echo $lngPID; ?>" border="0" frameborder="0" align="center" marginwidth="1" marginheight="1" target="_top"></iframe>
iFrame:
<p>This is the iFrame. Action is: <?php echo $lngAction; ?>; Qy is: <?php echo $lngQy; ?>; PID is: <?php echo $lngPID; ?>.</p>
有可能,您只需使用 ajax 来发布表单数据。 一切尽在您的掌控之中。 享受。
您需要在 iframe 上输入一个名称,然后在表单上使用目标属性。
<iframe src="foo" name="myframe"></iframe>
<form method="post" action="http://www.vebra.com/home/quick/PFrefine.asp" name="searchform" target="myframe">
...
下面是一个使用 JavaScript 和 jQuery 读出表单并相应地更改 iframe url 的示例:
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<form id="target" action="javascript:return false;">
<input type="text" value="http://www.ftd.de" />
<input type="submit" value="Go" />
</form>
<iframe id="iframe1" src="javascript:false;"></iframe>
<script>
$('#target').submit(function() {
$('#iframe1').attr('src', $("input:first").val());
});
</script>
</body>
现场演示:
斯菲德尔