【问题标题】:Prepopulate html field if parameter in URL [closed]如果 URL 中有参数,则预填充 html 字段 [关闭]
【发布时间】:2016-07-29 12:34:30
【问题描述】:

我正在尝试在 html 字段中传递一个变量,感谢这个答案,我成功完成了该任务: https://stackoverflow.com/a/5422395

场景是用户点击:http://some.site.com/somePage.html?forename=Bob&surname=Jones

并且名字字段是用 Bob 预先填充在页面上的,但是我遇到了前面提到的答案的问题,如果 url 中没有变量(例如http://some.site.com/somePage.html),用户在字段名字中输入的内容不会被表格考虑在内。

如果变量存在于 url 中,我怎样才能预填充字段,如果不存在则让用户输入他想要的内容?

感谢您的帮助,

【问题讨论】:

  • 您的问题不清楚,因为它缺少关于“如何”填写的代码; HTML 表单?另外,这里没有 PHP。
  • 你已经得到了答案,所以现在问他们。我已经在它们下面发布了 cmets。如果其中一个对您有用,那么考虑接受其中一个答案以结束问题并标记为已解决。如果他们还没有解决问题,那么您需要详细说明您的问题,和/或让他们知道它失败的原因。

标签: php html forms


【解决方案1】:

if(isset($_GET)) ... 这很简单。 isset 函数对于知道某个值是否存在非常有用。如果您需要更多帮助,请告诉我。

编辑给出一个完整的例子:

<?php 
if(isset($_GET['forename']) && !empty($_GET['forename']))
{
    echo $_GET['forename'];
}
?>

【讨论】:

  • 我不知道他使用的是什么值。抱歉,答案含糊。
  • isset() Robert 的问题是,即使是一个空的 GET 请求也可能被视为“设置”。因此,最好使用(附加)!empty()。即:使用file.php?param 将被视为“设置”。使用标准条件 if (isset($_GET['param']) &amp;&amp; !empty($_GET['param']) ) 的示例。这可以很容易地转换为三元运算符。
  • 旁注:检查$_GET 是否已设置且不为空不 不能保证有$_GET['forename'],但!empty($_GET['forename']) 可以。
  • 我试图给出一个广泛的答案示例,以便它可以在不同的应用程序中多次使用。谢谢。我更新了我的答案以使其更准确。
【解决方案2】:

将此写入字段的值中。

if (isset($_GET['forename'])) echo $_GET['forename'];

【讨论】:

  • 仅供参考:isset() 不能完全信任。这注定会失败。
猜你喜欢
  • 2021-09-06
  • 2011-07-22
  • 2013-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多