【问题标题】:How to add '%' symbol in textbox using jsf and jsp?如何使用 jsf 和 jsp 在文本框中添加“%”符号?
【发布时间】:2015-06-09 13:25:49
【问题描述】:

我是 jsp 和 jsf 的新手。我想在文本框中插入 '%' 符号。但我无法使用 jsp 和 jsf 在文本框中插入 % 符号。

我的jsf代码是:

<h:inputText class="form-control input-sm input-element"
                                    id="oligoName" name="name" maxlength="30" placeholder="" />

我的jsp代码是:

<input type="text" class="form-control input-sm input-element"
    id="Name" maxlength="30" name="name" placeholder="">

我有一个相同的 html 代码。基于此,只有我上课了。

所有其他符号都可以插入到文本框中。问题仅与 '%' 符号有关。

有人可以帮帮我吗?

【问题讨论】:

  • 当我删除提到的类(form-control input-sm input-element)时,问题仍然存在。所以我认为它与类无关。
  • 从开发者的角度而非最终用户的角度阐述“我不能”。
  • @BalusC 开发完成。当我在 UI 中进行测试时,我遇到了这个问题:在 UI 中,当我尝试在文本框中输入值“JINCE%XYZ”时,没有在文本框中输入“%”。我只能输入“JINCEXYZ”,% 没有打印在文本框中。
  • 在阅读这个问题时,我猜想一些客户端脚本正在做一些按键事件。你能试试调试javascript代码吗?
  • 很难说这是 JSF 的问题,Jince。当您使用浏览器时,唯一运行的是 HTML、Javascript 和 CSS,因此唯一可能阻止您输入“%”的是 Javascript 或计算机问题。您是否正在运行一些您没有告诉我们的 Javascript?

标签: jsp jsf jsf-2


【解决方案1】:

我发现了问题。正如@Himanshu Bhardwaj @DavidS 所说,问题出在javascript 上。 有一个事件'keypress',它阻止我们输入'%'。 我将该事件取消绑定为:

$('#Name').unbind('keypress');

谢谢大家

【讨论】:

    【解决方案2】:

    有几种方法可以实现这一点。

    1. 用“%”初始化支持输入变量。这是一个丑陋的解决方案,涉及手动值验证和不断出现/忽略符号。
    2. 使用 Javascript 手动设置符号。与上面几乎相同,但在客户端级别。
    3. 使用 JSF AJAX 扩展,如 Primefaces 和 Primefaces Extensions。最后一个特别是 inputNumber 元素,它支持前缀和后缀 (http://www.primefaces.org/showcase-ext/sections/inputNumber/basicUsage.jsf)。或者,最初的 Primefaces 提供了 inputMask 元素,它的作用基本相同,但以更通用的方式 (http://www.primefaces.org/showcase/ui/input/inputMask.xhtml)。
    4. 我个人更喜欢的解决方案。在 inputText 之后显示“%”符号作为文本,将输入字段留空以执行应有的操作。这可以使用简单的 DIV 和 CSS 格式来完成。

    【讨论】:

    • 尝试从上到下阅读问题和 cmets,而不仅仅是标题。整个答案毫无意义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 2020-06-07
    • 1970-01-01
    相关资源
    最近更新 更多