检测选择值中的网址并重定向到该网址

时间:2015-11-20 09:41:36

标签: php

我想创建一个表单并将用户重定向到选择值中提到的特定网址。

这是我的表格:

<form>
  <select name="url" > 
    <option value="http://www.google.com/">Google</option>
    <option value="http://www.bing.com/">Bing</option>
  </select> 
  <input name="name" type="text" placeholder="Name" />
  <input name="age" type="text" placeholder="Age" />
  <button type="submit">Go</button>
</form>

例如,如果用户点击&#34; Go&#34;当&#34; Page2&#34;如果被选中,他将被重定向到第34页http://www.example.com/page2&#34; (&#34;名称&#34;和&#34;年龄&#34;值将转移到此页面。)

就像这段代码:

<select name="jumpit" onchange="document.location.href=this.value"> 
  <option selected value="">Make a Selection</option>
  <option value="http://www.google.com/">Google</option>
  <option value="http://www.bing.com">Bing</option>
</select> 

除了我需要在提交按钮单击而不是onchange select后完成重定向。

这就是全部。谢谢!

3 个答案:

答案 0 :(得分:0)

试试这段代码:

<form>
    <select name="url"  id="url"  > 
    <option value="http://www.example.com/page1">Page1</option>
    <option value="http://www.example.com/page2">Page2</option>
    <option value="http://www.example.com/page3">Page3</option>
    </select> 
    <input name="name" id="name" type="text" placeholder="Name" />
    <input name="age"  id="age" type="text" placeholder="Age" />
    <input type="button" onClick="submitForm()" />
</form>

<script>
function submitForm()
{
    var url = $('#url').val();
    var name = $('#name').val();
    var age = $('#age').val();
    var urlToSend = url + "?name=" + name + "&age="+age;

    location.replace(urlToSend);
}
</script>

答案 1 :(得分:0)

你在这里,也经过测试和工作:

<强> HTML

<form action="some_file.php" method="post">
    <select name="url">
        <option value="http://www.google.com/">Google</option>
        <option value="http://www.bing.com/">Bing</option>
    </select>
    <input name="name" type="text" placeholder="Name" />
    <input name="age" type="text" placeholder="Age" />
    <button type="submit">Go</button>
</form>

<强> some_file.php

if (isset($_POST['url'])) {
    $url  = $_POST['url']."?name=".urlencode($_POST['name'])."&age=".urlencode($_POST['age']);

    header("Location: ".$url);
    exit;
}

然后您可以使用GET访问它们,即。当您输入$_GET['name']输入字段时,name将是相同的。

答案 2 :(得分:-1)

您可以尝试以下代码,它会对您有所帮助: -

使用以下内容更改提交按钮: -

<button type="submit" name="submit">Go</button>

在表单提交时添加以下代码: -

if (isset($_POST['submit']))
{
    $name = $_POST['name'];
    $age  = $_POST['age'];
    $url  = $_POST['url']."?name=".$name."&age=".$age;

    header("Location: ".$url);
}

您可以在下一页使用$ _GET访问这两个值。