这是我的代码。我希望在提交表单的同时从LI中获取与输入相关联的文本,并在页面重新加载后,文本应该粘贴到ID为“getSpan”的div
<html>
<head>
</head>
<body>
<form id="myForm" action="so.php" method="get">
<li><span>some text1</span><input name="Load" type="submit" value="Google" /></li>
<li><span>some text2</span><input name="Load" type="submit" value="MSN" /></li>
<li><span>some text3</span><input name="Load" type="submit" value="Yahoo" /></li>
</form>
<div id="container">
<?php
if (isset($_GET['Load'])) {
$value = $_GET['Load'];
echo "<iframe width=\"560\" height=\"349\" src=\"http://www.{$value}.com\"></iframe>";
}
?>
<div id="getSpan"></div>
</div>
</body>
</html>
我尝试使用隐藏类型输入,但是url显示2个参数,一个用于主输入,另一个用于隐藏输入,我试图避免。
更新 我也尝试了@Paul S建议的混合get和post,但是如果我使用post方法,我就不能为URL添加书签。 有人请帮我解决这个问题。
感谢。
答案 0 :(得分:1)
您无法读取未通过GET / POST传递的任何静态内容。一种解决方法是对返回值进行硬编码并将其与文本进行匹配,例如:
<?php
if (isset($_GET['Load'])) {
$value = $_GET['Load'];
switch ($value) {
case 'Yahoo': $myValue = 'some text1'; break;
case 'MSN': $myValue = 'some text2'; break;
}
echo "<iframe width=\"560\" height=\"349\" src=\"http://www.{$myValue}.com\"></iframe>";
}
?>
答案 1 :(得分:1)
jQuery是你需要的,请尝试:
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js">
</script>
<script type="text/javascript">
$(function(){
var formAction = $("#myForm").attr('action');
$("button.submitBtn").click(function(e){
var getValue = $(this).text().toLowerCase();
var spnValue = $(this).parent().find("span:first").text();
$("#myFrame").attr("src", "http://www."+getValue+".com");
$("#getSpan").text(spnValue);
window.history.pushState("","", "so.php?page="+getValue);
});
});
</script>
</head>
<body>
<ul>
<li><span>some text1</span><button class="submitBtn">jQuery</button></li>
<li><span>some text2</span><button class="submitBtn">MSN</button></li>
<li><span>some text3</span><button class="submitBtn">digg</button></li>
</ul>
<div id="container">
<iframe id="myFrame" width="560" height="349" src="http://www.jquery.com">
</iframe>
<div id="getSpan"></div>
</div>
</body>
</html>
没有表格没有重新加载,这适用于所有现代浏览器。
BTW,google和yahoo不能让你在iFrame中包含他们的页面我希望这个帮助
答案 2 :(得分:0)
感谢穆罕默德和保罗。我能够解决这个问题:)我在表单上使用GET方法在URL中显示所需的查询,可以为其他查询添加书签,我使用isset检查表单提交并从我创建的缓存文件中获取值。多谢你们。