这是两个文件
Calling.php
<html>
<body>
<form action="Called.php" method="get">
<input type="button" name="B1" value="B1">
<input type="button" name="B2" value="B2">
<input type="Submit" name="Submit1"/>
<!-- <a href="http://www.google.com?act=google">Google</a>
<a href="http://www.yahoo.com?act=yahoo">yahoo</a>
-->
</form>
</body>
</html>
和Called.php
<?php
if(isset($_GET("Submit1")))
{
echo("<script>location.href = 'http://stackoverflow.com';</script>");
}
if(isset($_GET["B1"]))
{
echo("<script>location.href = 'http://google.com/';</script>");
exit();
}
if(isset($_GET["B2"]))
- List item
{
echo "<meta http-equiv='refresh' content='0;url=http://www.yahoo.com'>";
exit();
}
?>
当我点击按钮“B1”和“B2”时,页面会闪烁,但现在重定向和第三个“提交”按钮将重定向到新页面,然后我将输出作为“Called.php”。
这个php初学者请花几秒钟。
答案 0 :(得分:10)
您不能直接因为按钮单击是客户端活动而PHP是服务器端。如果您提交所有输入,那么用户单击的那个将作为$ _GET数组的一部分提交,但只有当用户单击其中一个并且不提交表单时才会提交,例如,按文本中的Enter键输入。
您可以将AJAX事件附加到该按钮,并让它们触发PHP脚本以运行您要运行的功能,但这有其自身的一组问题。
编辑:我应该注意到,你的重定向方法至少可以说是不优雅的。你可以使用header()来进行重定向,它会比回复javascript更加清晰。
答案 1 :(得分:1)
您需要使用Ajax来执行此操作。如果您使用的是jQuery ajax,代码将看起来像这样
$(function(){
$('input[type="button"]').click(function(){
var name = $(this).attr('value');
$.ajax({
type :'GET',
url : 'Calling.php',
data :{name:name}
success : function(data) {
//do smthng
}
})
})
})
//代码未经过测试。需要验证。