簡體   English   中英

使用JavaScript在JSP中進行驗證

[英]Validation in jsp using javascript

'

<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"));

請建議

原始的JSP代碼無關緊要。 在您的Web瀏覽器中打開JSP頁面,右鍵單擊該頁面,然后選擇View Source 您現在看到的所有這些生成的HTML代碼現在都與JavaScript真正相關,因為這是它唯一可以查看和訪問的內容。

目前尚不清楚您使用的是什么“窗口小部件”框架,因為您沒有告訴/標記它的任何內容,而這與JSP無關。 無論如何,如果它正確完成了工作,那么您應該在生成的HTML代碼中看到具有id屬性的<input>元素,如下所示:

<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的正確方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM