javascript - 使用 java servlet 的 ajax 多输入表单验证不起作用。Ajax 不显示错误
问题描述
阿贾克斯不工作。这是我的表格。ajax 没有验证我的服务器端代码。根据下面的代码,它没有显示错误。
<form id="postMveForm" action="movieDetails">
<input type="text" name="mvetitle" id="mveTitleId"><br/>
<div id="errormvetitle"></div><br/>
<textarea name="mveDescription" id="mveDescrId" rows="10" cols="50"></textarea><br/>
<div id="errormveDescr"></div><br/>
我的 ajax 验证不起作用。如果用户关注该字段并将其保留为空字段,我需要在文本字段下方显示错误。当我聚焦文本字段并将其留空时没有显示错误。阿贾克斯不工作。
<script>
$(document).ready(function() {
$('#mveTitleId').blur(function() {
$.ajax({
url : 'movieDetails',
data : {
mvetitle : $('#mveTitleId').val()
},
success : function(responseText) {
$('#errormvetitle').text(responseText);
}
});
});
$('#mveDescrId').blur(function() {
$.ajax({
url : 'movieDetails',
data : {
mveDescription : $('#mveDescrId').val()
},
success : function(responseText) {
$('#errormveDescr').text(responseText);
}
});
});
});
</script>
这是movieDetails servlet 类。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
{
String mveTitle = request.getParameter("mvetitle");
String mveDescrptn = request.getParameter("mveDescription");
if(mveTitle.length()==0)
{
String mveTitleError = "Error movie Title field is Empty";
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(mveTitleError);
}
if(mveDescrptn.length()==0)
{
String mveDescrptnError = "Error movie Description is empty";
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(mveDescrptnError);
}
else {
response.getWriter().append("success ").append(request.getContextPath());
}
}
解决方案
请在 if 条件下检查 null。if(mveTitle == null) 代替 if(mveTitle.length()==0)
和 if(mveDescrptn == null) 代替 if(mveDescrptn.length()==0)
推荐阅读
- jasper-reports - 如何在 jasper 中更正使用 $X ???。JSS中的参数和IN子句问题
- matplotlib - 如何在 matploblib 中指定分类单位
- apache-spark - 如何在 Spark 中对具有逗号分隔值的字符串列执行一次热编码?
- pandas - 从散景 FileInput 小部件访问类中的方法
- angular - 从 Angular 7 调用遗留代码 jsp/servlet 代码返回 302 错误
- javascript - 如何在flatlist中以逗号分隔的字符串形式获取数组对象键反应本机
- c# - C#:当插入到 DateTimeOffset SQL Server 列时,如何停止将时区偏移添加到 System.DateTime
- angular - Angular 9 - 两个组件的数组类型输入属性更改?
- python - 从数据集中删除异常值 KeyError: False in pandas
- mysql - 如何从 MySql Workbench 社区版的 EER 图中复制历史显示项?