请教Ext高手我现在子窗口中如何得到父窗口中的值,没有分了请大家帮帮忙
发布网友
发布时间:2022-04-21 06:23
我来回答
共4个回答
懂视网
时间:2022-04-21 10:44
Extjs版本:我用的是Extjs5
获取父页面里面控件对象:top.Ext.getCmp(id)
top.Ext.getCmp(id).操作
加上top就可以进行操作了
本人非常喜欢做开发,自己做的有关于互联网学习的网站:www.xueyizhi.com,对应的论坛:bbs.xueyizhi.com,技术QQ群:175603095,非常欢迎大家过来一起学习!
热心网友
时间:2022-04-21 07:52
parent.jsp
<% @ page language = " java " import = " java.util.* " pageEncoding = " GB2312 " %>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + " :// " + request.getServerName() + " : " + request.getServerPort() + path + " / " ;
%>
<! DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.01 Transitional//EN " >
< html >
< head >
< base href = " <%=basePath%> " >
< title > Parent </ title >
< meta http - equiv = " pragma " content = " no-cache " >
< meta http - equiv = " cache-control " content = " no-cache " >
< meta http - equiv = " expires " content = " 0 " >
< meta http - equiv = " keywords " content = " keyword1,keyword2,keyword3 " >
< meta http - equiv = " description " content = " This is my page " >
< script type = " text/javascript " >
function openChild() {
// 把新打开的窗口放到最顶层,没有子窗口
// window.open("child.jsp", target="_top");
// 新打开一个窗口,用window.opener.document.all得到
window.open( " child.jsp " , target = " _blank " );
}
function scriptSubmit() {
// var formParent = document.formParent;
// 提交的action,可以直接写form名称,因为它是一个文档模型节点的子节点,直接可以获得。
formParent.action = " child.jsp " ;
// 强制弹出一个新页面
formParent.target = " _blank " ;
// 提交
formParent.submit();
}
// 回车提交表单
function enterSubmit() {
if (event.keyCode == 13 ) {
event.returnValue = false ;
event.cancel = true ;
formParent.login.click();
}
}
// 向table中添加tr
function add_tr() {
// alert("abc");
// all后面带id,否则报错
var my_tab = document.all( " addtrTable " );
var tab_rows = my_tab.rows.length; // 现有行数
var tab_cells = my_tab.cells.length; // 现有列数
// alert(tab_rows + " " + tab_cells);
var new_row = my_tab.insertRow(tab_rows - 1 ); // 在最后一个tr前插入一个tr
// 可以不定义,但是如果cell = "abc",则必须定义,不然报没有定义异常
cell = new_row.insertCell();
cell.innerHTML = ' <input type="button" name="delbtn" value="删除" onclick="hidden_tr()"> ' ;
cell = new_row.insertCell();
cell.innerHTML = ' <input type="text" name="username" value=""> ' ;
cell = new_row.insertCell();
cell.innerHTML = ' <input type="radio" name="sex" value="1" checked="checked">男 <input type="radio" name="sex" value="0">女 ' ;
}
// 隐藏table中的tr
function hidden_tr() {
// alert(event.srcElement);
// alert(event.srcElement.parentElement.parentElement);
// 得到表格的所有节点
var my_tab = document.all( " addtrTable " );
// 得到事件的父元素的父元素
var tr = event.srcElement.parentElement.parentElement;
// 得到表格所有节点的长度
var len = my_tab.rows.length;
// 只有一个tr的时候不隐藏
// alert(len);
// var field2 = my_tab.rows[tr.rowIndex].cells[3].firstChild;
// 删除行
// my_tab.deleteRow(tr.rowIndex);
// 必须初始化
var iCount = 0 ;
// 循环时去掉第一个为table,最后一个为插入一行
for (var i = 1 ; i < len - 1 ; i ++ ) {
// alert(my_tab.rows[i].style.display);
if (my_tab.rows[i].style.display != " none " ) {
iCount ++ ;
}
}
// alert(iCount);
if (iCount == 1 ) {
alert( " 必须保留一行 " );
return ;
}
/**/ /* if(tr.rowIndex == 1) {
alert("授权号为必填项");
return;
} */
// 得到行索引
// alert("行索引" + tr.rowIndex);
// 把当前行的第4个单元格置空
// field2.value = "";
// 把tr设置为不可见
tr.style.display = " none " ;
}
</ script >
</ head >
< body >
<%--< %
// 清空缓存,也有的叫页面过期,有人误会以为清空缓存后,然后点击后退就会跳到一个页面,
// 上面有一个页面已过期,要刷新才能看到新页面,其实这里意思并不是这样,只是当您后退时
// 清空了文本框的值而已,密码是默认清空的,避免重复提交。
/**/ /* response.setHeader("pragma", "no-cache");
response.setHeader("cache-control", "no-cache");
response.setHeader("expires", "0"); */
%>--%>
< form name = " formParent " method = " post " >
< table style = " background-color: #D4E1EE;border-bottom-color: #cccccc " cellpadding = " 1 " cellspacing = " 0 " border = " 0 " >
< tr >
< td >
用户名
</ td >
< td >
< input name = " formname " type = " text " >
</ td >
</ tr >
< tr >
< td >
密码
</ td >
< td >
< input name = " password " type = " password " onkeydown = " enterSubmit() " >
</ td >
</ tr >
< tr >
< td >
<%-- window.open方法不能在submit触发,否则子窗口得不到父窗口的值 --%>
< input type = " submit " name = " login " value = " 登录 " >
</ td >
< td >
<%-- 按钮不能执行JavaScript提交 --%>
< input type = " button " name = " btn " value = " 跳转 " onclick = " openChild() " >
</ td >
</ tr >
</ table >
<%-- 强制在新窗口中打开超链接 --%>
< a href = " child.jsp " target = " _blank " > Child </ a >
</ form >
< form name = " addtrForm " method = " post " >
< table id = " addtrTable " name = " addtrTable " style = " background-color: #D4E1EE;border-bottom-color: #cccccc " cellpadding = " 1 " cellspacing = " 0 " border = " 0 " >
< tr align = " center " >
< td >
操作
</ td >
< td >
姓名
</ td >
< td >
性别
</ td >
</ tr >
< tr align = " center " >
< td >
< input type = " button " name = " delbtn " value = " 删除 " onclick = " hidden_tr() " >
</ td >
< td >
< input type = " text " name = " username " value = "" >
</ td >
< td >
< input type = " radio " name = " sex " value = " 1 " checked = " checked " > 男 & nbsp; < input type = " radio " name = " sex " value = " 0 " > 女
</ td >
</ tr >
< tr >
< td colspan = " 2 " >
< input type = " button " name = " addbtn " value = " 插入一行 " onclick = " add_tr() " >
</ td >
</ tr >
</ table >
</ form >
</ body >
</ html >
child.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>Child</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript">
function getParentValue() {
// target="_blank"
var formname = window.opener.document.all.formParent.formname;
var password = window.opener.document.all.password;
alert("用户名:" + formname.value + "\n密码:" + password.value)
// 刷新父窗口
//window.opener.location.reload();
}
</script>
</head>
<body onload="getParentValue()">
<%
String username = request.getParameter("username");
String password = request.getParameter("password");
out.println("用户名:" + username + "<br>密码:" + password);
%>
</body>
</html>
热心网友
时间:2022-04-21 09:10
右键菜单的控件有了 你还要指定一下它的作用范围 也就是右击哪里会弹出菜单 你右击的地方的控件的属性里ContextMenuStrip属性设置为ContextMenuStrip1或者在后台写上 控件名.ContextMenuStrip=ContextMenuStrip1; 才行~~
热心网友
时间:2022-04-21 10:45
把Ext改成parent.Ext试试
请教Ext高手我现在子窗口中如何得到父窗口中的值,没有分了请大家帮帮 ...
// 新打开一个窗口,用window.opener.document.all得到 window.open( " child.jsp " , target = " _blank " );} function scriptSubmit() { // var formParent = document.formParent;// 提交的action,可以直接写form名称,因为它是一个文档模型节点的子节点,直接可以获得。formParent....
qt中,子窗口如何得到父窗口的当前坐标?qwidget parent
qDebug() << this->parentWidget()->x();你调用parent()得到的是QObject对象,当然没法拿到坐标。
java中子窗口限制父窗口问题
首先我们先看下在操作系统中是如何创建窗口的,这是WIN32 API:invoke CreateWindowEx,dwExStyle,lpClassName,lpWindowName,dwStyle,x,y,nWidth,nHeight,hWndParent,hMenu,hInstance,lpParam 对于一个普通的窗口,其中hMenu是指要出现的菜单的句柄,然后———当建立的窗口是子窗口时,这个参数是另一个含义...
为什么父窗口弹出子窗口之后,子窗口改变不了父窗口中textarea里的值啊...
我得到的提示是window.opener.document.getElementById("txt").这个不支持。好像是不支持这样写的。我这里有一个父子窗口传值的例子,你可以简单修改一下就可以实现你要的效果了:parent.html var str var gaga=0;str =window.showModalDialog("modal.htm",gaga,"dialogWidth=800px;dialogHeight=400p...
Qt中如何才能让子窗口按钮响应到父类窗口上的槽函数?(十分着急)_百度知...
很简单的:1)在子窗口里面增加一个signal,在父窗口里面增加一个响应slot用于接收这个信号。2)子窗口的按钮slot函数中emit这个signal。3)在父窗口中把子窗口的这个signal连到自己的响应slot。// 子窗口 class ChildWindow : public QWidget { Q_OBJECT public:ChildWindow(QWidget* p = 0):Q...
MFC中如何在父窗口中显示一个子窗口
CRect rcCreate(10,10,100,100);m_ControlName.Create(NULL,NULL,WS_CHILD|WS_VISIBLE,rcCreate,this,IDC_XX);其中实参 this 就是父窗口指针,按照你的需求传进来就可以了。或者用SetParent()接口来指定父窗口。
Qt中如何获取一个子窗口相对于屏幕的绝对坐标
pos()函数就能解决问题,能够返回坐标点QPoint 如果有父窗口的话,你先试试mapToParent(),返回在父窗口中的坐标,然后再 mapToGlobal(),你试试,我现在没空弄这个,如果还不行的话,我再想想
怎样在js中从父窗口获取子窗口的值
1、打开子窗口 newWindow = window.open(“new.htm”, "", "width=400,height=300 "); //打开子窗口new.htm,并且返回子窗口的句柄window变量newWindow2、获取子窗口的值 var a= newWindow.document.getElementById("T").value;//通过newWindow获取子窗口组件id是T的值 ...
我用mfc做了两个窗口,其中子窗口是在父窗口中生成的,但两个窗口类没有...
在子窗口中定义:CWnd *pwnd = NULL;pwnd = GetParent();//返回父窗口句柄 获得父窗口句柄你就可以为所欲为了。
ext中,下拉框中没有数据内容,为什么呢?谢谢大家的帮忙,在线等您的热...
var store_1 = Ext.data.ArrayStore({ fields: ['text', 'value'],data: [{ 'text': 'a','value':'a1' } ]});var panel = new Ext.Panel({ title: 'test',width: 300,height: 300,items: [{ xtype: 'combo',fieldLabel: 'a',store: store_1,displayField: 'value',value...