2012-04-20 122 views
0

我使用PHP生成表单,并点击“提交”按钮后,它打开新的表单。在我点击“提交”按钮之后,它会以新形式出现,并且不会打开新标签!因此,新页面打开applay时,只有当页面加载时第一次...我第一次看到的东西,得到了。PHP创建表单打开新的时间提交(只在第一次提交)

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
    <title></title> 
</head> 
<body> 
<?php 
    echo "<form method=\"get\" target=\"{$_SERVER['PHP_SELF']}\">"; 
    echo "<select name=\"main_value\">"; 
     echo "<option {$selected} value=\"{$city['ID']}\">{$city['NAME']}</option>"; 
    echo "</select><br />"; 
    echo "<input type=\"submit\" value=\"Submit!\" />"; 
    echo "</form>"; 
?> 
</body> 
</html> 

P.S. - 当然PHP变量存在 - 我只是不想在这里写整个代码!

+0

你是什么意思?是的,当你点击提交新窗体新标签没有打开? – vedarthk 2012-04-20 08:05:46

+0

不!问题是它打开新标签! 就提交它不应该打开新标签! – aainaarz 2012-04-20 08:43:32

回答

1

更改此:

echo "<form method=\"get\" target=\"{$_SERVER['PHP_SELF']}\">"; 

echo "<form method=\"get\" action=\"{$_SERVER['PHP_SELF']}\">"; 

action属性用于指定该数据将被提供的脚本名称。并且target属性指定在哪个窗口或帧中发送响应。

+0

ooo man! nOOb错误!谢谢你的答案! :) – aainaarz 2012-04-23 05:25:04

1

窗体的“目标”属性是必须显示请求结果的窗口的名称。第一次没有指定名称的窗口,所以新窗口(选项卡)打开。下次浏览器已经有了这个名字的窗口,所以这个窗口被使用。如果您想每次打开新选项卡,请使用target="_blank"

+0

它stil打开新标签与目标=“_ blank” – aainaarz 2012-04-20 08:41:50

+0

如果你不想要一个新的标签不要指定任何“目标”。 – 2012-04-20 09:20:22