继续提问动态文本框取值的问题

golden24kcn 2008-05-08 03:00:08

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link href="../css/crm.css" rel="stylesheet" type="text/css" />

<script language="JavaScript">

function sum1(){
var obj = event.srcElement;

var num1 = parseFloat(obj.value);
var num2 = parseFloat(obj.parentNode.nextSibling.childNodes[1].value);

if(num1 != "" || num2 != ""){
obj.parentNode.nextSibling.nextSibling.childNodes[1].value = num1*num2;
}
}

function sum2(){
var obj = event.srcElement;

var num1 = parseFloat(obj.value);
var num2 = parseFloat(obj.parentNode.previousSibling.childNodes[1].value);

if(num1 != "" || num2 != ""){
obj.parentNode.nextSibling.childNodes[1].value = num1*num2;
}
}

function addRow()
{
document.getElementById('add').innerText = "继续添加描述";
var row = tabInfo.insertRow(-1);

cell0 = row.insertCell(0);
cell0.innerHTML = "材料/方法<input id='datum' class=Input_Text_120 type=text />";

cell1 = row.insertCell(1);
cell1.innerHTML = "单价<input id='price' class=Input_Text_120 type=text />";
cell1.childNodes[1].attachEvent("onblur",sum1);


cell2 = row.insertCell(2);
cell2.innerHTML = "数量<input id='num' class=Input_Text_120 type=text />";
cell2.childNodes[1].attachEvent("onblur",sum2);


cell3 = row.insertCell(3);
cell3.innerHTML = "合计<input id='sum' class=Input_Text_120 type=text />";


cell4 = row.insertCell(4);
cell4.innerHTML = "<A id='del' style=font-family:宋体;font-size:9pt; title='删除本行' onclick='delRow(this.parentElement.parentElement.rowIndex);'href='javascript:;' name='del'>删除</A>";
}

function delRow(index)
{
document.getElementById('tabInfo').deleteRow(index);
tabInfo.rows.length > 0?document.getElementById('add').innerText = "继续添加描述":document.getElementById('add').innerText = "添加描述";
}
function total()
{
var tbl = document.getElementById("tabInfo");
for(var i = 1; i < tbl.rows.length; i++)
{
var inputs = tbl.rows[i].getElementsByTagName("input");
alert(inputs[inputs.length-1].value);
}

//得到“datum”的值
var op_datum = document.form1.datum;
var datum_value ="";
for(i=0; i < op_datum.length; i++)
{
datum_value += op_datum[i].value;
if (i<op_datum.length - 1)
{
datum_value += ",";
}
}

//得到“price”的值
var op_price = document.form1.price;
var price_value ="";
for(i=0; i<op_price.length; i++)
{
price_value += op_price[i].value;
if (i<op_price.children.length - 1)
{
price_value += ",";
}
}

//得到“num”的值
var op_num = document.form1.num;
var num_value ="";
for(i=0; i < op_num.length; i++)
{
num_value += op_num[i].value;
if (i<op_num.length - 1)
{
num_value += ",";
}
}

//得到“sum”的值
var op_sum = document.form1.sum;
var sum_value ="";
for(i=0; i < op_sum.length; i++)
{
sum_value += op_sum[i].value;
if (i<op_sum.length - 1)
{
sum_value += ",";
}
}

//document.form1.hid.value= datum_value + "|" + price_value + "|" + num_value + "|" + sum_value;
alert(datum_value + "|" + price_value + "|" + num_value + "|" + sum_value);
}

</script>

<title>报价文件上传</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<table align="center" border="0" cellpadding="0" cellspacing="1" class="table_outer"
width="99%">
<tr>
<td>
<table align="center" border="0" cellpadding="0" cellspacing="0" class="DataTable"
width="100%">
<tr style="background-color: #ccccff">
<td colspan="6" style="height: 14px">
<b>报价文件上传</b></td>
</tr>
<tr>
<td align="right" class="RowHeading" style="height: 24px" width="15%">
报价文件</td>
<td class="RowWhite" style="height: 24px">
 <asp:FileUpload ID="FileUpload1" runat="server" CssClass="Input_Text_120" Width="444px" /></td>
</tr>
<tr>
<td align="right" class="RowHeading" style="height: 18px">
部件描述</td>
<td class="RowWhite" colspan="5" style="height: 18px">
<table id="tabInfo">
</table>
<a id="add" href="javascript:;" name="add" onclick="addRow();" style="font-size: 9pt;
font-family: 宋体" title="添中一条描述">添加描述</a></td>
</tr>
</table>
<table style="width: 100%; background-color: #ccccff">
<tr>
<td style="width: 50%; height: 21px">
 
</td>
<td style="width: auto; height: 21px">
<asp:Button ID="btnUpload" runat="server" AccessKey="U" CssClass="Button" OnClick="btnUpload_Click"
Text="上传(U)" />
          
<asp:Button ID="btnCancel" runat="server" AccessKey="C" CssClass="Button" Text="取消(C)" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<asp:HiddenField ID="hdn" runat="server" />
<input id="Button1" type="button" value="button" onclick = "total()"/>
<input id="hid" type="hidden" value="" /></div>
</form>
</body>
</html>


每点一次本页面的“添加描述”,动态生成4个文本框,最页面下方的button1,调用total()方法,可是执行后得不到输入的值,为什么会这样呢?请教了!

另:我在total()中,注释了"hid"的一行,因为提示我它不存在,为什么呢?明明是有的!

(小弟第一回写B/S的系统,实在是对javascript非常非常菜)
...全文
100 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zbbxj 2011-04-17
  • 打赏
  • 举报
回复
bu dong
zl_c 2008-05-08
  • 打赏
  • 举报
回复
你搞得太复杂了,可以精简很多代码.
给分倒挺快的,我来晚了.
zl_c 2008-05-08
  • 打赏
  • 举报
回复
    function sum1(){
var obj = event.srcElement;

var num1 = obj.value;
var num2 = obj.parentNode.nextSibling.childNodes[1].value;

if(num1 != "" && num2 != ""){
obj.parentNode.nextSibling.nextSibling.childNodes[1].value = num1*num2;
}
}

function sum2(){
var obj = event.srcElement;

var num1 = obj.value;
var num2 = obj.parentNode.previousSibling.childNodes[1].value;

if(num1 != "" && num2 != ""){
obj.parentNode.nextSibling.childNodes[1].value = num1*num2;
}
}

function addRow()
{
document.getElementById('add').innerText = "继续添加描述";
var row = tabInfo.insertRow(-1);

cell0 = row.insertCell(0);
cell0.innerHTML = "材料/方法<input name='datum' class=Input_Text_120 type=text />";

cell1 = row.insertCell(1);
cell1.innerHTML = "单价<input name='price' class=Input_Text_120 type=text />";
cell1.childNodes[1].attachEvent("onblur",sum1);


cell2 = row.insertCell(2);
cell2.innerHTML = "数量<input name='num' class=Input_Text_120 type=text />";
cell2.childNodes[1].attachEvent("onblur",sum2);


cell3 = row.insertCell(3);
cell3.innerHTML = "合计<input name='sum' class=Input_Text_120 type=text />";


cell4 = row.insertCell(4);
cell4.innerHTML = "<A id='del' style=font-family:宋体;font-size:9pt; title='删除本行' onclick='delRow(this.parentElement.parentElement.rowIndex);'href='javascript:;' name='del'>删除</A>";
}

function delRow(index)
{
document.getElementById('tabInfo').deleteRow(index);
tabInfo.rows.length > 0?document.getElementById('add').innerText = "继续添加描述":document.getElementById('add').innerText = "添加描述";
}
function total()
{
var oDatum = document.getElementsByName("datum");
var oPrice = document.getElementsByName("price");
var oNum = document.getElementsByName("num");
var oSum = document.getElementsByName("sum");
var sDatum = "";
var sPrice = "";
var sNum = "";
var sSum = "";
alert(oDatum.length);
for(var i = 0; i < oDatum.length; i++)
{
if(i == 0)
{
sDatum = oDatum[i].value;
sPrice = oPrice[i].value;
sNum = oNum[i].value;
sSum = oSum[i].value;
}
else
{
sDatum += "," + oDatum[i].value;
sPrice += "," + oPrice[i].value;
sNum += "," + oNum[i].value;
sSum += "," + oSum[i].value;
}
}
alert(sDatum + "|" + sPrice + "|" + sNum + "|" + sSum);
}
zl_c 2008-05-08
  • 打赏
  • 举报
回复
    function sum1(){
var obj = event.srcElement;

var num1 = obj.value;
var num2 = obj.parentNode.nextSibling.childNodes[1].value;

if(num1 != "" && num2 != ""){
obj.parentNode.nextSibling.nextSibling.childNodes[1].value = num1*num2;
}
}

function sum2(){
var obj = event.srcElement;

var num1 = obj.value;
var num2 = obj.parentNode.previousSibling.childNodes[1].value;

if(num1 != "" && num2 != ""){
obj.parentNode.nextSibling.childNodes[1].value = num1*num2;
}
}

function addRow()
{
document.getElementById('add').innerText = "继续添加描述";
var row = tabInfo.insertRow(-1);

cell0 = row.insertCell(0);
cell0.innerHTML = "材料/方法<input name='datum' class=Input_Text_120 type=text />";

cell1 = row.insertCell(1);
cell1.innerHTML = "单价<input name='price' class=Input_Text_120 type=text />";
cell1.childNodes[1].attachEvent("onblur",sum1);


cell2 = row.insertCell(2);
cell2.innerHTML = "数量<input name='num' class=Input_Text_120 type=text />";
cell2.childNodes[1].attachEvent("onblur",sum2);


cell3 = row.insertCell(3);
cell3.innerHTML = "合计<input name='sum' class=Input_Text_120 type=text />";


cell4 = row.insertCell(4);
cell4.innerHTML = "<A id='del' style=font-family:宋体;font-size:9pt; title='删除本行' onclick='delRow(this.parentElement.parentElement.rowIndex);'href='javascript:;' name='del'>删除</A>";
}

function delRow(index)
{
document.getElementById('tabInfo').deleteRow(index);
tabInfo.rows.length > 0?document.getElementById('add').innerText = "继续添加描述":document.getElementById('add').innerText = "添加描述";
}
function total()
{
var oDatum = document.getElementsByName("datum");
var oPrice = document.getElementsByName("price");
var oNum = document.getElementsByName("num");
var oSum = document.getElementsByName("sum");
var sDatum = "";
var sPrice = "";
var sNum = "";
var sSum = "";
alert(oDatum.length);
for(var i = 0; i < oDatum.length; i++)
{
if(i == 0)
{
sDatum = oDatum[i].value;
sPrice = oPrice[i].value;
sNum = oNum[i].value;
sSum = oSum[i].value;
}
else
{
sDatum += "," + oDatum[i].value;
sPrice += "," + oPrice[i].value;
sNum += "," + oNum[i].value;
sSum += "," + oSum[i].value;
}
}
alert(sDatum + "|" + sPrice + "|" + sNum + "|" + sSum);
}
golden24kcn 2008-05-08
  • 打赏
  • 举报
回复
测试完毕,正解!

万分感谢!马上给分!
s_liangchao1s 2008-05-08
  • 打赏
  • 举报
回复

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link href="../css/crm.css" rel="stylesheet" type="text/css" />

<script language="JavaScript">

function sum1(){
var obj = event.srcElement;

var num1 = parseFloat(obj.value);
var num2 = parseFloat(obj.parentNode.nextSibling.childNodes[1].value);

if(num1 != "" || num2 != ""){
obj.parentNode.nextSibling.nextSibling.childNodes[1].value = num1*num2;
}
}

function sum2(){
var obj = event.srcElement;

var num1 = parseFloat(obj.value);
var num2 = parseFloat(obj.parentNode.previousSibling.childNodes[1].value);

if(num1 != "" || num2 != ""){
obj.parentNode.nextSibling.childNodes[1].value = num1*num2;
}
}

function addRow()
{
document.getElementById('add').innerText = "添加描述";
var row = tabInfo.insertRow(-1);

cell0 = row.insertCell(0);
cell0.innerHTML = "材料/方法<input id='datum' class=Input_Text_120 type=text />";

cell1 = row.insertCell(1);
cell1.innerHTML = "价<input name='price' class=Input_Text_120 type=text />";
cell1.childNodes[1].attachEvent("onblur",sum1);


cell2 = row.insertCell(2);
cell2.innerHTML = "数量<input name='num' class=Input_Text_120 type=text />";
cell2.childNodes[1].attachEvent("onblur",sum2);


cell3 = row.insertCell(3);
cell3.innerHTML = "合<input name='sum' class=Input_Text_120 type=text />";


cell4 = row.insertCell(4);
cell4.innerHTML = "<A id='del' style=font-family:宋体;font-size:9pt; title='del' onclick='delRow(this.parentElement.parentElement.rowIndex);'href='javascript:;' name='del'>del</A>";
}

function delRow(index)
{
document.getElementById('tabInfo').deleteRow(index);
tabInfo.rows.length > 0?document.getElementById('add').innerText = "添加描述":document.getElementById('add').innerText = "添加描述";
}
function total()
{
var tbl = document.getElementById("tabInfo");
for(var i = 1; i < tbl.rows.length; i++)
{
var inputs = tbl.rows[i].getElementsByTagName("input");//
alert(inputs[inputs.length-1].value);
}


var op_datum =document.getElementsByName("datum");//
var datum_value ="";
for(i=0; i < op_datum.length; i++)
{
datum_value += op_datum[i].value;
if (i<op_datum.length - 1)
{
datum_value += ",";
}
}


var op_price = document.getElementsByName("price");//
var price_value ="";
for(i=0; i<op_price.length; i++)
{
price_value += op_price[i].value;
if (i<op_price.length - 1)
{
price_value += ",";
}
}


var op_num = document.getElementsByName("num");
var num_value ="";
for(i=0; i < op_num.length; i++)
{
num_value += op_num[i].value;
if (i<op_num.length - 1)
{
num_value += ",";
}
}


var op_sum =document.getElementById("sum");
var sum_value ="";
for(i=0; i < op_sum.length; i++)
{
sum_value += op_sum[i].value;
if (i<op_sum.length - 1)
{
sum_value += ",";
}
}

//document.form1.hid.value= datum_value + "|" + price_value + "|" + num_value + "|" + sum_value;
alert(datum_value + "|" + price_value + "|" + num_value + "|" + sum_value);
}

</script>

<title>价文件上</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<table align="center" border="0" cellpadding="0" cellspacing="1" class="table_outer"
width="99%">
<tr>
<td>
<table align="center" border="0" cellpadding="0" cellspacing="0" class="DataTable"
width="100%">
<tr style="background-color: #ccccff">
<td colspan="6" style="height: 14px">
<b>价文件上</b></td>
</tr>
<tr>
<td align="right" class="RowHeading" style="height: 24px" width="15%">
价文件</td>
<td class="RowWhite" style="height: 24px">
 <asp:FileUpload ID="FileUpload1" runat="server" CssClass="Input_Text_120" Width="444px" /></td>
</tr>
<tr>
<td align="right" class="RowHeading" style="height: 18px">
部件描述</td>
<td class="RowWhite" colspan="5" style="height: 18px">
<table id="tabInfo">
</table>
<a id="add" href="javascript:;" name="add" onclick="addRow();" style="font-size: 9pt;
font-family: 宋体" title="添中一条描述">添加描述</a></td>
</tr>
</table>
<table style="width: 100%; background-color: #ccccff">
<tr>
<td style="width: 50%; height: 21px">
 
</td>
<td style="width: auto; height: 21px">
<asp:Button ID="btnUpload" runat="server" AccessKey="U" CssClass="Button" OnClick="btnUpload_Click"
Text="上(U)" />
          
<asp:Button ID="btnCancel" runat="server" AccessKey="C" CssClass="Button" Text="取消(C)" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<asp:HiddenField ID="hdn" runat="server" />
<input id="Button1" type="button" value="button" onclick = "total()"/>
<input id="hid" type="hidden" value="" /></div>
</form>
</body>
</html>


golden24kcn 2008-05-08
  • 打赏
  • 举报
回复
--!

你是说total()函数吧?我从未写过javascript,都是东拼西凑瞎写的,基本就是按java的思路来写的。

如果你不忙就给我指点一下吧,分数不够再加。
s_liangchao1s 2008-05-08
  • 打赏
  • 举报
回复

所有的你都写错了

s_liangchao1s 2008-05-08
  • 打赏
  • 举报
回复

document.form1.hid.value 的hid是name属性
s_liangchao1s 2008-05-08
  • 打赏
  • 举报
回复
<input id="hid" type="hidden" value="" />

//document.form1.hid.value======>document.getElementById('hid')

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧