<TD CLASS="input-label" VALIGN="top">A:</TD>
out.println(widget_renderer.getEditableField("A"));
<TD CLASS="input-label" VALIGN="top">B:</TD>
out.println(widget_renderer.getEditableField("B"));
我想根据为属性字段A输入的值,使属性B字段成为必需。还可以验证它并打印错误消息 我在jsp页面上做了以下内容: -
<TD CLASS="input-label" VALIGN="top">A:</TD>
out.println(widget_renderer.getEditableField("A"));
String ppn = (String)dataBean.getItemEntityData().get("A");
System.out.println(dataBean.getItemEntityData().get("A"));
if (ppn != null && (ppn == "A1" || ppn == "A2" || ppn == "A3" || ppn == "A4"))
{
>
<TD VALIGN="top"><SPAN CLASS="req-indicator">*</SPAN></TD>
< } >
,<TD CLASS="input-label" VALIGN="top">B:</TD>
out.println(widget_renderer.getEditableField("B"));
请建议
答案 0 :(得分:1)
原始的JSP代码无关紧要。在Web浏览器中打开JSP页面,右键单击页面并选择查看源。所有这些生成的HTML代码现在都与JavaScript非常相关,因为它是唯一可以看到和访问的内容。
目前还不清楚您正在使用什么“小部件”框架,因为您没有告诉/标记任何有关它的内容,而这与JSP无关。无论如何,如果它已完成其工作,那么您应该在生成的HTML代码中看到<input>
元素具有id
属性,如下所示:
<input type="text" id="someId">
现在,在JS代码中,您可以使用document.getElementById()
轻松地从HTML DOM中获取元素。
var inputElement = document.getElementById('someId');
如果它是输入元素,那么您可以按如下方式获取其值:
var inputValue = inputElement.value;
您可以按如下方式比较JavaScript中的字符串值:
if (inputValue == 'foo') {
// Value is foo.
} else {
// Value is not foo.
}
请注意,这是不比较Java中的字符串的方法!您更愿意使用String#equals()
。
你也可以从DOM中获取不同的元素,例如:你自己添加的<div id="message">
。
var messageElement = document.getElementById('message');
您可以按照以下方式在其正文中设置一些文字:
messageElement.firstChild.nodeValue = 'some message';
算一算:)
顺便说一下,你在代码中使用的“风格”非常古老。你可能会继承遗留项目,好吧,但是90年代的风格实际上并不是现在启动HTML / JSP的正确方式。