jsp+easyui实现邮箱配置,点击配置,弹窗邮箱配置弹窗,弹窗里面的邮箱输入框可以动态的增加和删除,并对保存后的邮箱进行回显
时间: 2024-03-16 12:46:27 浏览: 166
实现这个功能,需要使用到JSP、EasyUI以及JavaScript。
首先,在JSP页面中引入EasyUI的相关样式和脚本文件,同时编写一个弹窗的HTML代码,用于显示邮箱配置弹窗。在该弹窗中需要包含一个邮箱输入框,以及动态增加和删除邮箱的按钮。
接着,编写JavaScript代码,实现邮箱输入框的动态增加和删除功能。具体实现方式可以使用jQuery的append()和remove()方法。
最后,在保存邮箱配置时,通过Ajax将邮箱列表发送到后台进行保存,并在保存成功后进行回显。在回显时,可以使用EasyUI的datagrid组件进行展示。
下面是一个简单的实现示例:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>邮箱配置</title>
<link rel="stylesheet"
href="https://cdn.bootcdn.net/ajax/libs/jquery-easyui/1.9.22/themes/bootstrap/easyui.css"
type="text/css" />
<link rel="stylesheet"
href="https://cdn.bootcdn.net/ajax/libs/jquery-easyui/1.9.22/themes/icon.css"
type="text/css" />
<script type="text/javascript"
src="https://cdn.bootcdn.net/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script type="text/javascript"
src="https://cdn.bootcdn.net/ajax/libs/jquery-easyui/1.9.22/jquery.easyui.min.js"></script>
</head>
<body>
<a href="#" class="easyui-linkbutton"
onclick="$('#email-dialog').dialog('open')">邮箱配置</a>
<div id="email-dialog" class="easyui-dialog"
style="width: 400px; height: 300px; padding: 10px;"
title="邮箱配置" closed="true">
<form id="email-form">
<div id="email-container">
<div>
<label>邮箱:</label> <input class="easyui-textbox"
name="email" style="width: 200px;" required="true" />
</div>
</div>
<div style="margin-top: 10px;">
<a href="#" class="easyui-linkbutton"
onclick="addEmail()">增加</a> <a href="#" class="easyui-linkbutton"
onclick="removeEmail()">删除</a>
</div>
</form>
<div style="margin-top: 10px;">
<a href="#" class="easyui-linkbutton"
onclick="saveEmail()">保存</a>
</div>
</div>
<script type="text/javascript">
var emailIndex = 0;
function addEmail() {
var emailContainer = $('#email-container');
var emailInput = $('<div><label>邮箱:</label><input class="easyui-textbox" name="email" style="width: 200px;" required="true" /></div>');
emailInput.appendTo(emailContainer);
emailIndex++;
}
function removeEmail() {
var emailContainer = $('#email-container');
var emailInputs = emailContainer.find('div');
if (emailInputs.length > 1) {
emailInputs.last().remove();
emailIndex--;
}
}
function saveEmail() {
var emailForm = $('#email-form');
if (emailForm.form('validate')) {
var emails = [];
var emailInputs = $('#email-container').find(
'input[name="email"]');
emailInputs.each(function() {
var email = $(this).val();
if (email) {
emails.push(email);
}
});
$.ajax({
type : 'POST',
url : 'saveEmails.jsp',
data : {
emails : emails.join(',')
},
success : function(data) {
$('#email-dialog').dialog('close');
$('#email-grid').datagrid('loadData', data);
},
error : function() {
alert('保存失败');
}
});
}
}
</script>
</body>
</html>
```
在该示例中,使用了EasyUI的dialog、form、linkbutton和textbox组件,以及jQuery的append()、remove()和ajax()方法。其中,addEmail()和removeEmail()方法用于实现动态增加和删除邮箱输入框的功能,saveEmail()方法用于保存邮箱配置并在保存成功后进行回显。在回显时,使用了一个datagrid组件进行展示。
阅读全文