使用提交按钮而不是锚标记打开一个新的 link

Opening a new link using submit button not anchor tag

我需要能够在单击提交按钮时必须打开一个新选项卡 基于来自数据库的锚 link。我已经挣扎了几个小时。

这是我的表格

<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>";
  ?>

// 此代码有效,但我不想使用 单击此处我希望能够 单击提交按钮后生成结果,提交按钮必须打开新的 tab.I 认为必须使用 javascript 但我不知道如何。

可能是这样的?

<?php
..
echo  $ran_name= "<script> document.location.href='".$link."';</script>";
..
?>

有关位置对象的更多信息 http://www.w3schools.com/jsref/obj_location.asp

  1. 方式一

    < 输入类型="button" 值="Open Window"

    onclick="window.open('< ?php echo $link;?>')">

或:

onclick="window.location.href='< ?php echo $link;?>','_blank'";
  1. 方式二:

    ...
    

p/s: 我不知道如何用格式显示代码。 (你也是);

也许你试试这个?那应该做你想做的事

<?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");
  ?>