gpt4 book ai didi

java - 制作类似于 inputTextArea 的 "Backspace"和 "Enter"键的 JSF 按钮?

转载 作者:太空宇宙 更新时间:2023-11-04 08:29:21 25 4
gpt4 key购买 nike

更新:为了清楚起见,我在此处进行了更新,而不是在评论中写入或发表答案。

这是这些按钮的操作代码的一部分:

我制作的按钮是这样的:

  <h:commandButton value="Delete"  onclick="return addBackspace();">
<f:ajax execute="@form" render="formula"/>
</h:commandButton> //the backspace button

文本区域:

 <h:inputTextarea id="formula" value="#{output.formula}" /> 

我制作了一些简单的按钮,这些按钮会将它们的值写入文本区域,以便用户在构建公式时看到公式:

 <h:commandButton value="+ "  onclick="return checkButtons(this.value);">                   
<f:ajax execute="@form" render="formula"/>
</h:commandButton>

我不太确定我放在那里的ajax部分,用它来停止每次点击时的页面刷新。

我使用的 selectBox 现在有一些硬编码值,但最终将填充从 WS 获取的数据。

 Property:
<h:selectOneMenu value ="#{output.propertyReferenceValue}" id="selectTwo" onchange="return checkItem(this.value);">
<f:selectItems value="#{property.propertyReference.keySet()}"/>
</h:selectOneMenu>

现在,如果我将 textArea 禁用或只读,我仍然可以在其中写入 selctBoxes 的内容(这很好),但如果我尝试使用“+”等简单按钮,它们的值将很快出现,然后消失得同样快。如果我尝试退格,它将删除文本区域的全部内容,如果我将选择框的一些内容放入文本区域,然后如果我单击“+”按钮(例如),则该区域的全部内容将被删除。我仍在深入研究代码,看看是什么导致了它的行为方式:)

更新结束

是否可以在 JSF 中制作一些可以在 inputTextArea 上操作的命令按钮,就像“Enter”和“Backspace”键一样?例如:

按下“输入按钮”时,会将光标移动到文本区域的新行。“退格按钮”将删除光标后面的下一个字母或空格。

我已经搜索了一段时间,但我似乎只找到了如何使所有文本消失的详细信息。

谢谢,丹尼尔

最佳答案

您只需使用 JavaScript 即可实现此目的。

例如

<h:inputTextarea id="textarea" binding="#{textarea}" value="#{bean.text}" />
<input type="button" value="Enter" onclick="addEnter('#{textarea.clientId}')" />
<input type="button" value="Backspace" onclick="addBackspace('#{textarea.clientId}')" />

具有这些功能

function addEnter(textareaId) {
var textarea = document.getElementById(textareaId);
textarea.value += '\n';
textarea.focus();
}

function addBackspace(textareaId) {
var textarea = document.getElementById(textareaId);
textarea.value = textarea.value.substring(0, textarea.value.length - 1);
textarea.focus();
}

关于java - 制作类似于 inputTextArea 的 "Backspace"和 "Enter"键的 JSF 按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7833641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com