You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redmine视图自定义插件:输入文本转小写功能失效求助

问题解决:输入框内容无法转为小写提交
  • 核心问题:你的代码中field.val().toLowerCase()仅生成了小写字符串,但未将结果重新赋值给输入框,因此输入框的实际值并未改变。toLowerCase()方法不会修改原字符串,而是返回新的小写字符串。
  • 补充说明:CSS的text-transform: lowercase仅做视觉层面的转换,不会改变输入框的实际value值,所以提交后仍会显示原始内容。

修正后的代码

const setup = function(fieldSelector) {
  const field = $(fieldSelector);
  const convertToLowerCase = function() {
    // 获取当前值并转为小写,重新赋值给输入框
    const currentValue = field.val();
    field.val(currentValue.toLowerCase());
  };
  // 监听失焦(change)和实时输入(input)事件
  field.on('change input', convertToLowerCase);
  // 初始化时执行一次转换
  convertToLowerCase();
}
// 目标自定义字段ID
setup('#issue_custom_field_values_17');

代码说明

  1. 移除冗余判断:无需检测是否存在大写字母,直接调用toLowerCase()即可——无大写的内容转换后不会变化,不影响功能。
  2. 新增实时监听:添加input事件,让用户输入过程中实时转为小写,提升交互体验,而非仅在失焦时处理。
  3. 关键修复:通过field.val(新值)将转换后的结果重新设置到输入框,确保输入框的实际value被修改,提交时即为小写内容。

内容的提问来源于stack exchange,提问作者Mohamed El Habchi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 04:31:12