当我选择一个选项并单击按钮时,我想打开图像。为什么这不起作用?
public class test {
public static <T extends Number> void foo(Class<T> c, T x) {
;
}
@SuppressWarnings("unchecked")
public static <T> Class<? extends T> getClass2(T x) {
return((Class<? extends T>)x.getClass());
}
public static void bar(int x) {
foo(Integer.class, x);
}
public static void baz(Number x) {
foo(getClass2(x), x);
}
}
它只打开images / .jpg,就像PHP代码一样无效。
答案 0 :(得分:2)
试试这个:
location.href
根本不需要PHP。
答案 1 :(得分:1)
您似乎对PHP和Javascript的执行顺序感到困惑。你的&lt;?php-code?&gt;甚至在加载页面之前执行,因此没有定义$ _POST变量。这就是它被评估为空字符串的原因。只有在您提交表单时,$ _POST才会在连续页面加载时包含您的表单数据。但是,你永远不会提交表格,因为1)你没有类型 =“提交”的按钮和2) - 即使你这样做 - 它可能会被执行你的onclick阻止-Javascript。
要解决您的问题,您可能应该使用Javascript或PHP,但不能同时使用两者。
Javascript的解决方案:
<select id="carlist">
<option value="renault">Renault</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<input type="button" onclick="location.href='images/'+document.getElementById('carlist').value+'.jpg';"/>
PHP-解决方案:
<?php if(isset($_POST["carlist"])) {header("Location: images/".$_POST["carlist"].".jpg");}?>
<form action="#" method="post">
<select name="carlist">
<option value="renault">Renault</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<input type="submit" value="Show the car!"/>
</form>
答案 2 :(得分:0)
您需要更改类型按钮才能提交。因为按钮不运行PHP代码。但是如果您不想更改按钮以提交,那么您需要添加一些javascript来执行该过程。这是我编辑后的代码。
<form action="#" method="post">
<select name="carlist">
<option value="renault">Renault</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<input name="submit" type="submit" value="Show the car!" onclick="location.href='images/<?php echo($_POST['carlist']); ?>.jpg'" />
</form>
答案 3 :(得分:0)
PHP是一种服务器端语言。这意味着您无法在浏览器内的客户端使用它。浏览器端(客户端)语言是JavaScript,你需要将它用于这样的东西。当您的页面呈现$ _POST [&#39; carlist&#39;]为空(未设置)时,PHP仅在呈现页面上运行。 因为您尚未通过提交包含carlist输入的表单来发布上一页的carlist属性。正如jayms所说,你可以为你的select标签设置一个id,并通过像document.getElementbyId
这样的JavaScript代码来获取它。