【问题标题】:Passing URL variable via HTML form submission using either PHP or JavaScript使用 PHP 或 JavaScript 通过 HTML 表单提交传递 URL 变量
【发布时间】:2011-05-18 02:30:10
【问题描述】:

我需要简单地将表单变量传递给 URL 变量。我怀疑这很容易做到,但我很难在任何地方在线找到明确的步骤(不是大量代码)。

这是我当前的表单代码

<form id="zip_search" method="post" action="dealers.php">
    <label for="zipfield"><a href="dealers.php">Find a Dealer</a></label>
    <input name="tZip" type="text" id="zipfield" value="ZIP CODE" onblur="if(this.value=='') this.value='ZIP CODE';" onfocus="if(this.value=='ZIP CODE') this.value='';" />
    <input type="image" value="Submit" class="submitbutton" src="/images/submit_button.gif" />
  </form>

我只需要它发送浏览器到这样的东西:

http://www.mydomain.com/dealers.php?zip=55118

提前感谢您的帮助。


更新问题

感谢 Drew 和 Anton 的回复,这里有一个更新。更改输入名称属性以匹配 URL var 名称(tZip 到 zip)以及将 POST 更改为 GET 可以解决问题,但由于某种原因,它还添加了两个额外的 URL 变量(&x=0&y=0)。我猜这是我的 PHP 代码不正确的地方,因为无论如何我都不是 PHP 向导。这是所有代码:

PHP 函数

<?php
function processForm() {
    $zipCode = $_GET['zip'];
    $url = "dealers.php?zip=" . $zipCode;
    header("Location: $url");
    exit;
}
?>

表格

<form id="zip_search" method="get" action="dealers.php">
    <label for="zipfield"><a href="dealers.php">Find a Dealer</a></label>
    <input name="zip" type="text" id="zipfield" value="ZIP CODE" onblur="if(this.value=='') this.value='ZIP CODE';" onfocus="if(this.value=='ZIP CODE') this.value='';" />
    <input type="image" value="Submit" class="submitbutton" src="/images/submit_button.gif" />
  </form>

网址输出示例

http://www.domain.com/dealers.php?zip=12345&x=0&y=0

其他相关问题

如果仅定义了 processForm() 而没有在其他任何地方调用,这将如何工作。在我看来, processForm() 函数应该在打开表单元素的 action 属性中。有什么见解吗?提前致谢。

【问题讨论】:

  • 其他人已经为您推荐了解决方案。要了解此内容的精髓,我建议您学习此课程cs75.tv/2009/fall

标签: php javascript forms url variables


【解决方案1】:

将表单方法改为“get”

【讨论】:

  • 这与从 tZip 更新为 zip 的输入名称一起起到了作用。谢谢!我发布了对我的问题的更新,因为它添加了两个后续 URL 变量。我是否对这里的所有回复发表过多评论?我还在研究如何正确使用 Stack Overflow。
【解决方案2】:

您需要将表单方法从 POST 更改为 GET,并将文本输入从 tZip 重命名为 zip 否则您的 URL 将如下所示:

http://www.mydomain.com/dealers.php?tZip=55118

而不是

http://www.mydomain.com/dealers.php?zip=55118

【讨论】:

  • 谢谢大家!德鲁肯定回答了这个问题并让它发挥作用。尽管出于某种原因,它添加了两个额外的 URL 变量 (zip=12345&x=0&y=0)。我将使用此信息编辑/添加到我的原始问题。我认为这是我应该做的。我是 Stack Overflow 的新手。
猜你喜欢
  • 2011-11-03
  • 1970-01-01
  • 2013-07-04
  • 1970-01-01
  • 2013-08-28
  • 1970-01-01
  • 1970-01-01
  • 2012-09-08
  • 2016-07-19
相关资源
最近更新 更多