如何使用 jsf 和 jsp 在文本框中添加 '%' 符号?

How to add '%' symbol in textbox using jsf and jsp?

我是 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 代码。基于此,我只给出了 class.

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

有人可以帮帮我吗?

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

  1. 用“%”初始化后备输入变量。这是一个丑陋的解决方案,涉及手动值验证并保持 appearing/ignoring 符号。
  2. 手动设置符号Javascript。与上面几乎相同,但在客户端级别。
  3. 使用 JSF AJAX 扩展,例如 Primefaces 和 Primefaces Extensions。特别是最后一个具有支持前缀和后缀的 inputNumber 元素 (http://www.primefaces.org/showcase-ext/sections/inputNumber/basicUsage.jsf). Alternatively the original Primefaces provides inputMask element that does essentially the same but in a more generic way (http://www.primefaces.org/showcase/ui/input/inputMask.xhtml)。
  4. 我个人比较喜欢的方案。在 inputText 之后显示“%”符号作为文本,将输入字段留空以执行它应该做的事情。这可以使用简单的 DIV 和 CSS 格式来完成。

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

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

谢谢大家