我需要能够在单击提交按钮时打开新选项卡 基于来自数据库的锚链接。我一直在苦苦挣扎几个小时。
这是我的表格
<form action="" method="POST">
<select name="name">
<option value="">Select Names</option>
<option value="1">Names</option>
</select>
<input type ="submit" name="submit" value="find random name">
</form>
这是php
<?php
$query="SELECT * FROM names_table ORDER BY RAND() LIMIT 1 ";
$result=mysqli_query($connection,$query);
if(!$result){echo "no results";}
while($selected=mysqli_fetch_assoc($result)){
$link=$selected['name'];
echo $ran_name= "<a href=$link target=\"_blank\">Click here</a>";
?>
//此代码有效,但我不想使用点击这里我希望能够 单击提交按钮后生成结果,提交按钮必须打开新选项卡。我认为必须使用javascript但我不知道如何。
答案 0 :(得分:1)
可能是这样的吗?
<?php
..
echo $ran_name= "<script> document.location.href='".$link."';</script>";
..
?>
有关位置对象http://www.w3schools.com/jsref/obj_location.asp的更多信息。
答案 1 :(得分:0)
方式1
&LT;输入类型=&#34;按钮&#34; value =&#34;打开窗口&#34;
onclick =&#34; window.open(&#39;&lt;?php echo $ link;?&gt;&#39;)&#34;&gt;
OR:
onclick="window.location.href='< ?php echo $link;?>','_blank'";
方式2:
&LT; form action =&#34;&lt; ?php echo $ link;?&gt;&#34;方法=&#34;后&#34;目标=&#34; _blank&#34;&GT;
...
&LT; /形式&GT;
p / s:我不知道如何用格式显示代码。 (和你一样);
答案 2 :(得分:0)
也许你试试这个?那应该做你想做的事情
<?php
$query="SELECT * FROM names_table ORDER BY RAND() LIMIT 1 ";
$result=mysqli_query($connection,$query);
if(!$result) {
exit("no results");
}
while($selected=mysqli_fetch_assoc($result)){
$link=$selected['name'];
}
// Redirect to page
if (defined($link) && !empty($link))
header("Location: /$link");
?>