【问题标题】:Auto-fill required form field if left blank如果留空,则自动填写必填表单字段
【发布时间】:2023-04-09 09:45:01
【问题描述】:

当且仅当用户将其留空时,是否可以在表单提交时自动填充特定的表单字段?如果有,怎么做?

理想情况下,我想用最少的代码来做这件事,我正在使用 PHP、HTML 和 CSS。


我添加了 javascript 标记,因为我猜想“强制”提交一个必填字段为空的表单需要 js。

【问题讨论】:

  • 为什么要投反对票而不评论是什么让这个问题变得很糟糕?
  • 我想这是因为 This question does not show any research effort,正如 downvote 按钮的工具提示中明确指出的那样
  • 如果您的研究工作取得成果,请分享。我看了看,什么也没找到。

标签: php javascript html css forms


【解决方案1】:

你应该试试这个 html 经典技术 <input type="text" value="DefaultValueThatUserWIllSee" /> 这将确保如果用户跳过它,您将获得默认值...:)

【讨论】:

  • 这实际上不会满足我的要求。我想知道点击提交按钮时该字段为空。不过还是谢谢。
【解决方案2】:

这会更新 $_POST 值,但不会更新表单

if (empty($_POST['name_of_item'])) {
    $_POST['name_of_item'] = 'default value';    
}

【讨论】:

  • 因此,在这种情况下,相关字段将永远不会显示为已填充。 (据用户所知,它是空白提交的。)但是,POST 数据将包含一个我可以保存在数据库中的值?
  • 我不认为我需要将它与您的其他答案结合起来。如果您评论上方我的问题的答案是“是”,那么您已经成功回答了我的问题。
  • 顺便说一句,如果 (empty($_POST['name_of_item'])) 无法正常工作,请尝试 (!isset($_POST['name_of_item'])) 或 ($_POST['name_of_item'] != "")
  • 一个问题。点击提交按钮后,用户不会收到来自浏览器的消息,通知他们填写必填字段,因为required 属性。也就是说,表单数据不会被提交给PHP代码处理。对吗?
  • 你的 PHP 代码可以工作——我已经测试过了——但它没有克服required 属性。这是第一步。也许这值得提出自己的问题:“如何强制提交带有未填写必填字段的表单?”
【解决方案3】:

这应该更新表单而不是 $_POST 值

<?php
    $default_value = isset($_POST) && empty($_POST['item_name']) ? 'added_value' : $_POST['item_name'];
?>

<input type="text" name="item_name" value="<?php echo $default_value;?>" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-20
    • 2019-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多