我的代码需要一些帮助。
我有一个文本区域,只有在选中单选按钮时才会显示。然后,应将任何输入文本区域的内容发送并存储在数据库中。
我拥有的two radio
按钮是:
如果选择No
,则会显示文本区域:
该代码如下所示:
<h1>Accept or Decline Invitation</h1>
<%=txt.displayCustomContent( "accept_text","acceptsection" )%>
<fieldset >
<label>Will you be attending the <%=formFields.getValue("programName")%> in <%=formFields.getValue("destination")%> <%=formFields.getValue("programDates")%>?</label>
</fieldset>
<fieldset>
<input id="yes" type="radio" name="attending" class="show-hide" value="Yes" <%= formFields.getRadioValue("attending","Yes")%>/> Yes, I will attend. I have read the instructions and I will register now.
</fielset>
<fieldset>
<input id="no" type="radio" name="attending" class="show-hide" value="No" <%= formFields.getRadioValue("attending","No")%>/> No, I will not attend.
</fieldset>
<br/>
<div id="show-me" style="display:none;">
<fieldset>
<label>If you will not be attending, please provide a brief explanation below (maximum 40 characters).
<textarea name="declineReason" id="declineReason" cols="25" rows="3" onKeyDown="textCounter(this.form.declineReason,40);" onKeyUp="textCounter(this.form.declineReason,40);"><%= formFields.getTextAreaValue("declineReason")%></textarea>
</label>
</fieldset>
</div>
<%=txt.displayCustomContent( "accept_textbottom","acceptsectionbottom" )%>
<div id="registration-navigation">
<input name="" type="submit" value="next >>" class="button"/>
</div>
现在这是我的问题所在..
即使我选择Yes
,文本区域也会重新发送信息并将其存储在数据库中。
存储它的代码如下所示:
if(formFields.exists("declineReason"))
{
awsl.setLoginComment("Decline reason is: " + formFields.getValue("declineReason"));
}
所以我的问题是如何更改它,以便它只在文本区域中包含文本时才将信息发送到数据库? 我试图检查并查看if语句中的文本区域是否为NULL,但这似乎不起作用。
答案 0 :(得分:2)
为了构建@Stultuske所说的内容,我建议仍然检查一个空状态,以避免出现空指针异常。但正如他们所说,一旦它被实例化,它将永远不会返回null,因此您需要检查它是否为空,这实际上只是检查字段中文本的长度。
if(jTextArea.getText() == null || jTextArea.getText().isEmpty())
{
// your code here
}
答案 1 :(得分:0)
不要检查TextArea是否为空。一旦实例化它,它将返回false。
检查:
jTextArea.getText().isEmpty()
这不会将区域本身检查为组件,而是检查TextArea中的文本。
答案 2 :(得分:0)
在您的控制器中检查文本长度是否为== 0。