LxcJie(肖冲) :还得请教个问题??????????? 1,报的什么错误?不应该有这个错误的2,提交哪个表单,是整个表单,还是iframe中的表单,如果是整个表单,iframe中的数据不会自动提交,需要在url中写入 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 呵呵,你在呀!1、报的是说缺少对象,2、我是想提交整个表单,我自己想了个办法:是把“确定”也写到AddCne_b.jsp中,从AddCne_b.jsp提交所有的值给servlet!呵呵,可行的应该是!现在主要是值还没有取到了! 还有个问题是:<input type="button" value="确定" onclick="javascript:validateForm('<%=NEname%>','<%=NEdescription%>','<%=tableName%>','11111111')" size="20">我用这个可以提交值,其中11111111111这个地方应该是存放itemC提交的值,怎么取到它并提交呢?? 1,第一个我这里试着没问题,就是使用moveSelected这个函数2,建议把确定按钮放出来,不要放在iframe里面,因为没有目前你的AddCne_b.jsp没有form,所以提交不上去 可以使用document.frames[yourIframeName].document.itemB.value类似方式在url中传过去 <%@ page contentType="text/html; charset=GBK" %><html><head><title>test</title><script type="javascript">function moveSelected(oSourceSel,oTargetSel){ //建立存储value和text的缓存数组 var arrSelValue = new Array(); var arrSelText = new Array(); //此数组存贮选中的options,以value来对应 var arrValueTextRelation = new Array(); var index = 0;//用来辅助建立缓存数组 //存储源列表框中所有的数据到缓存中,并建立value和选中option的对应关系 for(var i=0; i<oSourceSel.options.length; i++) { if(oSourceSel.options[i].selected) { //存储 arrSelValue[index] = oSourceSel.options[i].value; arrSelText[index] = oSourceSel.options[i].text; //建立value和选中option的对应关系 arrValueTextRelation[arrSelValue[index]] = oSourceSel.options[i]; index ++; } } //增加缓存的数据到目的列表框中,并删除源列表框中的对应项 for(var i=0; i<arrSelText.length; i++) { //增加 var oOption = document.createElement("option"); oOption.text = arrSelText[i]; oOption.value = arrSelValue[i]; oTargetSel.add(oOption); //删除源列表框中的对应项 oSourceSel.removeChild(arrValueTextRelation[arrSelValue[i]]); }}</script></head><body bgcolor="#ffffff"><form name="form" action="/nt/AddCneServlet.java" method="POST"><table><tr> <td> <select name="itemB" size="5" multiple="multiple"> <option value="op1">opt1</option> <option value="op2">op2</option> <option value="op3">op3</option> <option value="op4">op4</option> </select> </td><td> <input type="button" name="add" value=" 添 加 " onclick="moveSelected(document.all.itemB,document.all.itemC)"; size="20"></td><td> <input type="button" name="add" value=" 删 除 " onclick="moveSelected(document.all.itemC,document.all.itemB)"; size="20"></td><td><select name="itemC" size="5" multiple="multiple"> </select></td></tr></table></form></body></html>这是个有数据的试验,添加的时候提示这行: onclick="moveSelected(document.all.itemB,document.all.itemC)"; size="20">缺少对象! 上面这个1、“添加”“删除”的问题解决了,呵呵,2、问题是:想把页面AddCen.jsp(就是主页面)中的俩个值转给iframe中的AddCen_b.jsp(被包含的页面).因为我觉得要在页面AddCen.jsp中取iframe中的值好像不太可能,所以就把提交的“确定”按钮放到了iframe的AddCen_b.jsp页面中,这样我只需要把AddCen.jsp的俩个值:复合网元名称NEname和复合网元描述NEdescription传给iframe中的AddCen_b.jsp就可以了,但是我在AddCen_b.jsp中String NEname = request.getParameter("NEname");String NEdescription = request.getParameter("NEdescription");得到的是空值,更本就取不到!程序的样子还和上面的一样!! 你按提交按钮,只提交了iframe中的页面(AddCen_b.jsp),真正的主页面(AddCen.jsp)是提交不了的,把提交按钮拿到主页面上来,采用下面方式提交主页面:-------------------------index.htm<SCRIPT language="javascript">function subForm(){ //取得iframe中itemB的对象 var oItemB = document.frames["myFrame"].document.all.itemB; //取得iframe中itemC的对象 var oItemC = document.frames["myFrame"].document.all.itemC; document.forms[0].action = "test.jsp?itemB=" + oItemB.value + "&itemC=" + oItemC.value; alert(document.forms[0].action); document.forms[0].submit();}</SCRIPT><BODY><FORM method="post"><SELECT name="itemA"><OPTION value="000">000</OPTION><OPTION value="111">111</OPTION></SELECT><p><IFRAME height="300px" width="300px" frameborder="0" src="inner.htm" name="myFrame"></IFRAME><p><INPUT type="button" onClick="subForm()" value="submit" /></FORM></BODY>inner.htm----------------------------------------------<BODY>itemB:<SELECT name="itemB"><OPTION value="aaa">aaa</OPTION><OPTION value="bbb">bbb</OPTION><OPTION value="ccc">ccc</OPTION></SELECT><p>itemC:<SELECT name="itemC"><OPTION value="eee">eee</OPTION><OPTION value="fff">fff</OPTION><OPTION value="ggg">ggg</OPTION></SELECT></BODY> 如果我想提及给一个servlet怎么写? 现在搞的我晕头转向了,我现在改成了用javaBean去取数,刷新页面得到表单的值,呵呵,改来改去总于改成功了!谢谢你了LxcJie(肖冲)! 呵呵,想你学习!再次感谢! SVG绘制动态箭头 DIV中的innerHTML使用问题 js字符串处理 Tuhuolongan:感谢20分,专此帖纠错之前回复你的“字母排列”帖 javascript xml小程序修改 大问题,求一解!js文件调用js文件 正则表达式问题 取子串的问题 如何将<div sytle="Z-INDEX: 100">的<div>元素<iframe>框之上? 真难啊!在一个frame里点击连接,在另一个frame里的iframe出现连接的内容…… 求救 如何在这样的JS代码中加入onMouseOver和onMouseOut
1、报的是说缺少对象,
2、我是想提交整个表单,我自己想了个办法:是把“确定”也写到AddCne_b.jsp中,从
AddCne_b.jsp提交所有的值给servlet!呵呵,可行的应该是!现在主要是值还没有取到了!
<input type="button" value="确定" onclick="javascript:validateForm
('<%=NEname%>','<%=NEdescription%>','<%=tableName%>','11111111')" size="20">
我用这个可以提交值,其中11111111111这个地方应该是存放itemC提交的值,怎么取到它并提交呢??
2,建议把确定按钮放出来,不要放在iframe里面,因为没有目前你的AddCne_b.jsp没有form,所以提交不上去
可以使用document.frames[yourIframeName].document.itemB.value类似方式在url中传过去
<html>
<head>
<title>
test
</title>
<script type="javascript">
function moveSelected(oSourceSel,oTargetSel)
{
//建立存储value和text的缓存数组
var arrSelValue = new Array();
var arrSelText = new Array();
//此数组存贮选中的options,以value来对应
var arrValueTextRelation = new Array();
var index = 0;//用来辅助建立缓存数组 //存储源列表框中所有的数据到缓存中,并建立value和选中option的对应关系
for(var i=0; i<oSourceSel.options.length; i++)
{
if(oSourceSel.options[i].selected)
{
//存储
arrSelValue[index] = oSourceSel.options[i].value;
arrSelText[index] = oSourceSel.options[i].text;
//建立value和选中option的对应关系
arrValueTextRelation[arrSelValue[index]] = oSourceSel.options[i];
index ++;
}
} //增加缓存的数据到目的列表框中,并删除源列表框中的对应项
for(var i=0; i<arrSelText.length; i++)
{
//增加
var oOption = document.createElement("option");
oOption.text = arrSelText[i];
oOption.value = arrSelValue[i];
oTargetSel.add(oOption);
//删除源列表框中的对应项
oSourceSel.removeChild(arrValueTextRelation[arrSelValue[i]]);
}
}</script>
</head>
<body bgcolor="#ffffff">
<form name="form" action="/nt/AddCneServlet.java" method="POST">
<table>
<tr>
<td>
<select name="itemB" size="5" multiple="multiple">
<option value="op1">opt1</option>
<option value="op2">op2</option>
<option value="op3">op3</option>
<option value="op4">op4</option>
</select>
</td>
<td>
<input type="button" name="add" value=" 添 加 "
onclick="moveSelected(document.all.itemB,document.all.itemC)"; size="20"></td>
<td>
<input type="button" name="add" value=" 删 除 "
onclick="moveSelected(document.all.itemC,document.all.itemB)"; size="20"></td>
<td>
<select name="itemC" size="5" multiple="multiple">
</select>
</td>
</tr>
</table>
</form>
</body>
</html>
这是个有数据的试验,添加的时候提示这行:
onclick="moveSelected(document.all.itemB,document.all.itemC)"; size="20">
缺少对象!
2、问题是:
想把页面AddCen.jsp(就是主页面)中的俩个值转给iframe中的AddCen_b.jsp(被包含的页面).
因为我觉得要在页面AddCen.jsp中取iframe中的值好像不太可能,
所以就把提交的“确定”按钮放到了iframe的AddCen_b.jsp页面中,
这样我只需要把AddCen.jsp的俩个值:
复合网元名称NEname和复合网元描述NEdescription传给iframe中的AddCen_b.jsp就可以了,
但是我在AddCen_b.jsp中
String NEname = request.getParameter("NEname");
String NEdescription = request.getParameter("NEdescription");
得到的是空值,更本就取不到!
程序的样子还和上面的一样!!
index.htm<SCRIPT language="javascript">
function subForm()
{
//取得iframe中itemB的对象
var oItemB = document.frames["myFrame"].document.all.itemB;
//取得iframe中itemC的对象
var oItemC = document.frames["myFrame"].document.all.itemC;
document.forms[0].action = "test.jsp?itemB=" + oItemB.value
+ "&itemC=" + oItemC.value;
alert(document.forms[0].action);
document.forms[0].submit();
}
</SCRIPT>
<BODY>
<FORM method="post">
<SELECT name="itemA">
<OPTION value="000">000</OPTION>
<OPTION value="111">111</OPTION>
</SELECT><p>
<IFRAME height="300px" width="300px" frameborder="0" src="inner.htm" name="myFrame"></IFRAME><p>
<INPUT type="button" onClick="subForm()" value="submit" />
</FORM>
</BODY>inner.htm
----------------------------------------------<BODY>
itemB:<SELECT name="itemB">
<OPTION value="aaa">aaa</OPTION>
<OPTION value="bbb">bbb</OPTION>
<OPTION value="ccc">ccc</OPTION>
</SELECT><p>
itemC:<SELECT name="itemC">
<OPTION value="eee">eee</OPTION>
<OPTION value="fff">fff</OPTION>
<OPTION value="ggg">ggg</OPTION>
</SELECT>
</BODY>