添加页面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<script language="javascript" type="text/javascript">
var nation_index = 0;
var oTR = new Array();
function addNation(){
nation_index = nation_index+1;
//var oTR = document.createElement("tr");
oTR[nation_index] = document.createElement("tr");
oTR[nation_index].className = "TableContent";
var oTD = document.createElement("td");
oTD.width=""
oTD.align="center";
oTD.innerHTML = "<input type=\"text\" id=\"level_id"+nation_index+"\" name=\"level\" value=\""+nation_index+"\" οnkeyup=\"valid(this);\">";
oTR[nation_index].appendChild(oTD);
oTD = document.createElement("td");
oTD.align="center";
oTD.innerHTML = "<input type=\"text\" id=\"start_id"+nation_index+"\" name=\"start\" value=\"\" οnkeyup=\"valid(this);\">";
oTR[nation_index].appendChild(oTD);
oTD = document.createElement("td");
oTD.align="center";
oTD.innerHTML = "<input type=\"text\" id=\"end_id"+nation_index+"\" name=\"end\" value=\"\" οnkeyup=\"valid(this);\">";
oTR[nation_index].appendChild(oTD);
oTD = document.createElement("td");
oTD.align="center";
oTD.innerHTML = "<input type=\"text\" id=\"rate_id"+nation_index+"\" name=\"rate\" value=\"\" οnkeyup=\"valid(this);count("+nation_index+");\">";
oTR[nation_index].appendChild(oTD);
oTD = document.createElement("td");
oTD.align="center";
oTD.innerHTML = "<input type=\"text\" id=\"number_id"+nation_index+"\" name=\"number\" readonly=\"true\" value=\"\">"+"<a href=\"#here\" οnclick=\"delNation("+nation_index+");\">删除</a>";
oTR[nation_index].appendChild(oTD);
table1.appendChild(oTR[nation_index]);
}
function delNation(theNO){
table1.removeChild(oTR[theNO]);
oTR[theNO] = null;
nation_index = nation_index -1;
}
function valid(num){
if(isNaN(num.value)){
alert("格式不对,应该是数字");
num.focus();
return false;
}
if(num.value>1000000000000||num.value<0){
alert("格式不对,应该是0—1000000000000的数字");
num.focus();
return false;
}
}
</script>
</head>
<body>
<form name="personalTaxForm" method="post" action="">
<table width="99%" border="0" cellspacing="1" cellpadding="0"
class="ReportTable" align="center">
<tr class="ButtonTableContent">
<td align="left"><input name="add" type="button" id="add"
value="增 加" onClick="addNation()"></td>
</tr>
</table>
<table class="ReportTable" width="99%" border="0" cellspacing="1"
cellpadding="0" align="center">
<tr class="TableContent" style="display:">
<td class="TableListHeaderTd" width="20%" align="center">级数</td>
<td class="TableListHeaderTd" width="20%" align="center">最小金额</td>
<td class="TableListHeaderTd" width="20%" align="center">最大金额</td>
<td class="TableListHeaderTd" width="20%" align="center">税率</td>
<td class="TableListHeaderTd" width="20%" align="center">速算扣除数</td>
</tr>
<tbody id="table1"></tbody>
</table>
<script language="javascript" type="text/javascript">
fb = ['cancel'];
tb = ['返 回'];
changeButtonName(fb,tb);
</script></form>
</body>
</html>
编辑页面:
<%
String rownumber = (String)request.getAttribute("rownumber");
%>
<html>
<head>
<title>修改个税参数</title>
<script language="javascript" src="hr/js/helper.js" type=""></script>
<script language="javascript" type="text/javascript">
//定义trim()函数
function trim(str)
{
return str.replace(/^\s*(.*?)[\s\n]*$/g,'$1');
}
function clk_save()
{
var taxName = document.getElementById("personalTax.taxName").value;
var oldTaxName = document.getElementById("oldTaxName").value;
if(oldTaxName != taxName){
var url = "personalTaxAction.do?operate=checkName&taxName="+taxName;
sendRequest(url,checkName);//向服务器发送请求,并用处理服务器请求的函数指针作为参数
if(itemFlag == "true"){
alert("当前个税名称已经存在,请重新填写");
return false;
}
}
personalTaxForm.action="personalTaxAction.do?operate=personalTaxUpdate";
dosubmit(personalTaxForm);
}
function clk_cancel()
{
personalTaxForm.action="personalTaxAction.do?operate=personalTaxList";
personalTaxForm.submit();
}
//检查个税名称是否存在
function checkName(){
var results = xmlHttp.responseXML.getElementsByTagName("select");
var result = results[0].firstChild.text;
itemFlag = result;
}
var nation_index = <%=rownumber%>;
var oTR = new Array();
function addNation(){
nation_index = nation_index+1;
//var oTR = document.createElement("tr");
oTR[nation_index] = document.createElement("tr");
oTR[nation_index].className = "TableContent";
var oTD = document.createElement("td");
oTD.width=""
oTD.align="center";
oTD.innerHTML = "<input type=\"text\" id=\"level_id"+nation_index+"\" name=\"level\" value=\""+nation_index+"\" οnkeyup=\"valid(this);\">";
oTR[nation_index].appendChild(oTD);
oTD = document.createElement("td");
oTD.align="center";
oTD.innerHTML = "<input type=\"text\" id=\"start_id"+nation_index+"\" name=\"start\" value=\"\" οnkeyup=\"valid(this);\">";
oTR[nation_index].appendChild(oTD);
oTD = document.createElement("td");
oTD.align="center";
oTD.innerHTML = "<input type=\"text\" id=\"end_id"+nation_index+"\" name=\"end\" value=\"\" οnkeyup=\"valid(this);\">";
oTR[nation_index].appendChild(oTD);
oTD = document.createElement("td");
oTD.align="center";
oTD.innerHTML = "<input type=\"text\" id=\"rate_id"+nation_index+"\" name=\"rate\" value=\"\" οnkeyup=\"valid(this);count("+nation_index+");\">";
oTR[nation_index].appendChild(oTD);
oTD = document.createElement("td");
oTD.align="center";
oTD.innerHTML = "<input type=\"text\" id=\"number_id"+nation_index+"\" name=\"number\" readonly=\"true\" value=\"\">"+"<a href=\"#here\" οnclick=\"delNation("+nation_index+");\">删除</a>";
oTR[nation_index].appendChild(oTD);
table1.appendChild(oTR[nation_index]);
}
function delNation(theNO){
table1.removeChild(oTR[theNO]);
oTR[theNO] = null;
nation_index = nation_index -1;
}
function delRow(rowId){
var obj = document.getElementById("table1");
if(rowId!="TR0"){
var rowObj = document.getElementById(rowId);
rowObj.removeNode(true);
nation_index = nation_index -1;
}
}
function valid(num){
if(isNaN(num.value)){
alert("格式不对,应该是数字");
num.focus();
return false;
}
if(num.value>1000000000000||num.value<0){
alert("格式不对,应该是0—1000000000000的数字");
num.focus();
return false;
}
}
function count(index){
if(index == 1){
document.getElementById("number_id" + index).value = "0";
}else{
var level_id = "level_id" + index;
var start_id = "start_id" + index;
var end_id = "end_id" + index;
var rate_id = "rate_id" + index;
var number_id = "number_id" + index;
//本级速算扣除数=上一级最高所得额*(本级税率-上一级税率)+上一级速算扣除数。
//上一级最高所得额
var last_end_id = "end_id" + (parseInt(index) - 1);
var last_end_value = document.getElementById(last_end_id).value;
//本级税率
var rate_value = document.getElementById(rate_id).value;
//上一级税率
var last_rate_id = "rate_id" + (parseInt(index) - 1);
var last_rate_value = document.getElementById(last_rate_id).value;
//上一级速算扣除数
var last_number_id = "number_id" + (parseInt(index) - 1);
var last_number_value = document.getElementById(last_number_id).value;
//本级速算扣除数
document.getElementById(number_id).value = last_end_value * (rate_value-last_rate_value)/100+parseInt(last_number_value);
}
}
</script>
</head>
<body>
<form name="personalTaxForm" method="post" action=""><html:hidden
name="personalTaxForm" property="personalTax.userId" /> <html:hidden
name="personalTaxForm" property="personalTax.state" />
<html:hidden
name="personalTaxForm" property="rowNumber" styleId="rowNumber" />
<html:hidden
name="personalTaxForm" property="personalTax.taxName" styleId="oldTaxName" />
<table width="99%" border="0" cellspacing="1" cellpadding="0"
class="ReportTable" align="center">
<tr class="ButtonTableContent">
<td><script language="JavaScript" type="text/javascript">
p = ['cancel','save'];
showbutton(p);
</script></td>
</tr>
</table>
<table id="basetable" class="ReportTable" width="99%" border="0"
cellspacing="1" cellpadding="0" align="center">
<tr class="TableContent" style="display:">
<td class="TdLeft">个税名称:</td>
<td class="TdRight"><html:text name="personalTaxForm"
property="personalTax.taxName" styleId="NONULL:名称" /></td>
<td class="TdLeft">创建人:</td>
<td class="TdRight"><html:text name="personalTaxForm"
property="personalTax.userName" readonly="true"
styleClass="inputReadOnly" /></td>
<td class="TdLeft">创建时间:</td>
<td class="TdRight"><html:text id="purchaseDate"
name="personalTaxForm" property="personalTax.createDate"
readonly="true" οnclick="setday(this)" styleId="NONULL:创建时间" /></td>
<td class="TdLeft">起征点:</td>
<td class="TdRight"><html:text name="personalTaxForm"
property="personalTax.cutoffPoint" /></td>
<td class="TdLeft" width="10%">个税状态:</td>
<td class="TdRight" width="20%">
<html:text name="personalTaxForm"
property="personalTax.stateName" readonly="true"
styleClass="inputReadOnly" /></td>
</td>
</tr>
</table>
<table width="99%" border="0" cellspacing="1" cellpadding="0"
class="ReportTable" align="center">
<tr class="ButtonTableContent">
<td align="left"><input name="add" type="button" id="add"
value="增 加" onClick="addNation()"></td>
</tr>
</table>
<table id="tableList" class="ReportTable" width="99%" border="0" cellspacing="1"
cellpadding="0" align="center">
<tr class="TableContent" style="display:">
<td class="TableListHeaderTd" width="20%" align="center">级数</td>
<td class="TableListHeaderTd" width="20%" align="center">最小金额</td>
<td class="TableListHeaderTd" width="20%" align="center">最大金额</td>
<td class="TableListHeaderTd" width="20%" align="center">税率</td>
<td class="TableListHeaderTd" width="20%" align="center">速算扣除数</td>
</tr>
<%
int i = 1;
%>
<tbody id="table2"></tbody>
<logic:iterate id="date" name="personalTaxForm" property="taxList"
indexId="index">
<tr class="TableListContent" id="TR<%=i%>" style="display: ">
<td align="center" style="display: "><input type="text"
id="level_id<%=i%>" name="level" οnkeyup="valid(this);"
value='<bean:write name="date" property="rateLevel" />'></td>
<td align="center" style="display: "><input type="text"
id="start_id<%=i%>" name="start" οnkeyup="valid(this);"
value='<bean:write name="date" property="startAmount" />'></td>
<td align="center" style="display: "><input type="text"
id="end_id<%=i%>" name="end" οnkeyup="valid(this);"
value='<bean:write name="date" property="endAmount" />'></td>
<td align="center" style="display: "><input type="text"
id="rate_id<%=i%>" name="rate" οnkeyup="valid(this);count('<%=i%>');"
value='<bean:write name="date" property="taxRate" />'></td>
<td align="center" style="display: "><input type="text"
id="number_id<%=i%>" name="number" readonly="true"
value='<bean:write name="date" property="deduction" />'>
<a href="#" οnclick="delRow(this.parentNode.parentNode.id)">删除</a>
</td>
</tr>
<%
i++;
%>
</logic:iterate>
<tbody id="table1"></tbody>
</table>
<script language="javascript" type="text/javascript">
fb = ['cancel'];
tb = ['返 回'];
changeButtonName(fb,tb);
</script></form>
</body>
</html>