使用提交按钮而不是锚标记打开新链接

时间:2015-01-04 12:09:08

标签: javascript php jquery html web

我需要能够在单击提交按钮时打开新选项卡 基于来自数据库的锚链接。我一直在苦苦挣扎几个小时。

这是我的表格

<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但我不知道如何。

3 个答案:

答案 0 :(得分:1)

可能是这样的吗?

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

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

答案 1 :(得分:0)

  1. 方式1

    &LT;输入类型=&#34;按钮&#34; value =&#34;打开窗口&#34;

    onclick =&#34; window.open(&#39;&lt;?php echo $ link;?&gt;&#39;)&#34;&gt;

  2. OR:

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

      &LT; form action =&#34;&lt; ?php echo $ link;?&gt;&#34;方法=&#34;后&#34;目标=&#34; _blank&#34;&GT;

      ...
      

      &LT; /形式&GT;

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