从IFRAME到父母的价值。 [英] PASSING VALUE FROM IFRAME TO PARENT.
问题描述
Sorrryy提出这样的基本问题,但我确实需要你的帮助!这是'/ b $ b我正在尝试做什么:
在我的父表单中,我正在调用我的iframe表单以获得一定的价值,
然后取决于该值启用或禁用我的
父表单中的提交按钮,而不使用我的
表单中的任何刷新/重新加载或提交按钮。
看起来很简单,但我不知道如何让它工作。实际上,我已经能够在我的父母中使用来自
我的iframe的值填充列表框,文本框。但我无法启用或禁用此按钮。任何人都可以
告诉我该怎么做请
Hi,
Sorrryy to ask such basic question but i do need your help! Here''s
what i''m trying to do:
In my parent form i''m calling a my Iframe form to get certain value,
then depending on that value enable or disable my submit button in my
parent form without using any refresh/reload or submit button in my
form.
Looks realy simple but i don''t know how to get it work. actualy, i''ve
been able to populate listbox,text boxes in my parent with values from
my iframe. But i can''t get this button enabled or disabled. Can anyone
tell me what to do please???
推荐答案
HolaGoogle写道:
>
HolaGoogle wrote:
在我的父表单中,我正在调用我的Iframe表单来获取特定值,然后根据该值启用或禁用我的父表单中的提交按钮不使用我的
表单中的任何刷新/重新加载或提交按钮。
In my parent form i''m calling a my Iframe form to get certain value,
then depending on that value enable or disable my submit button in my
parent form without using any refresh/reload or submit button in my
form.
请参阅下面的示例;但是,我怀疑你的努力不是值得他们引起的问题,对于用户而言,确实是微不足道的,只需
停用javascript或修改脚本在run-rime让它按照他/她想要的方式工作;-)
< script type =" text / javascript">
var someHTML ="< script type = \" text \ / javascript \">" +
" function foo(){" +
" var bReturn = Math.random()< 0.5;" +
" document.body.innerHTML =''禁用? - > ''+ bReturn;" +
"返回bReturn; };" +
"< \ / script>" +
" Hello,World!" ;;
var bar = function(){
var oldHandler,falseHandler = new Function(" return false");
var oldAction,falseAction ="#" ;;
返回函数(frm){
var fr = frames [" myIframe"];
if(!oldHandler)oldHandler = frm.onsubmit ;
if(!oldAction)oldAction = frm.action;
if(fr&& fr.foo){
if( fr.foo()){
frm.onsubmit = falseHandler;
frm.action = falseAction;
frm.elements [" mySubmitButton" ;] .disable = true;
} else {
frm.onsubmit = oldHandler;
frm.action = oldAction;
frm.elements [" mySubmitButton"]。disabled = false;
}
}
}
}();
< / script>
< form action =" foo.html" onsubmit =" return confirm(''真的?'')">
< input type =" button"值= QUOT;禁用" onclick =" bar(this.form)">
< input type =" submit" name =" mySubmitButton">
< input type =" submit">
< / form>
< iframe name =" myIframe" src =" javascript :parent.someHTML">< / iframe>
See below for an example; however, I suspect that your efforts are not
worth the issues they''ll cause, it''s indeed trivial for a user to just
deactivate javascript or modify script at run-rime to have it work the
way he/she wants ;-)
<script type="text/javascript">
var someHTML="<script type=\"text\/javascript\">"+
"function foo() {"+
" var bReturn=Math.random()<0.5;"+
" document.body.innerHTML=''disable ? -> ''+bReturn;"+
" return bReturn; };"+
"<\/script>"+
"Hello, World !";
var bar=function(){
var oldHandler, falseHandler=new Function("return false");
var oldAction, falseAction="#";
return function (frm){
var fr=frames["myIframe"];
if(!oldHandler) oldHandler=frm.onsubmit;
if(!oldAction) oldAction=frm.action;
if(fr && fr.foo){
if(fr.foo()){
frm.onsubmit=falseHandler;
frm.action=falseAction;
frm.elements["mySubmitButton"].disabled=true;
}else{
frm.onsubmit=oldHandler;
frm.action=oldAction;
frm.elements["mySubmitButton"].disabled=false;
}
}
}
}();
</script>
<form action="foo.html" onsubmit="return confirm(''Really?'')">
<input type="button" value="disable?" onclick="bar(this.form)">
<input type="submit" name="mySubmitButton">
<input type="submit">
</form>
<iframe name="myIframe" src="javascript:parent.someHTML"></iframe>
hummm ...首先感谢Yann-Erwan !谢谢你的快速回答
,但正如你说的那么简单的努力......加上我会
必须提交表格....好吧,我真的希望以我父母的形式做这样的事情是一种
方式:
函数EnableDisableButton()
{
var fr = frames [''myIframe'']。document.forms [0];
if(fr [" MyIframeValue"。。value)
{
document.forms [0] .elements [" EnableDisable"]。disabled = false;
}
}
并在我的父表单中引用这样的myiframe:
< IFRAME id =" ; myIframe" onload =" EnableDisableButton()"
SRC =" MyIFrame.asp">
< / IFRAME>
然后:
< form name =" ParentForm">
< br>
< INPUT TYPE =提交已停用VALUE =" ;启用/禁用id = EnableDisable
name = EnableDisable>
但这不起作用....任何想法??
再次感谢!
Yann-Erwan Perio< y - ******* @ em-lyon.com>在消息新闻中写道:< 3f *********************** @ news.free.fr> ...
hummm...first of all thanks Yann-Erwan!! thanks for your quick answer
but as you said too much effort for something that simple...Plus i''ll
have to submit the form....Well, i was realy hoping that it could be a
way to do something like this in my parent form:
function EnableDisableButton()
{
var fr=frames[''myIframe''].document.forms[0];
if(fr["MyIframeValue"].value)
{
document.forms[0].elements["EnableDisable"].disabled=false;
}
}
and refer to myiframe like this in my parent form:
<IFRAME id="myIframe" onload="EnableDisableButton()"
SRC="MyIFrame.asp">
</IFRAME>
and then :
<form name="ParentForm">
<br>
<INPUT TYPE=submit disabled VALUE="Enable/Disable"id=EnableDisable
name=EnableDisable>
But this doesn''t work....any idea??
Thanks once again!
Yann-Erwan Perio <y-*******@em-lyon.com> wrote in message news:<3f***********************@news.free.fr>...
HolaGoogle写道:
HolaGoogle wrote:
在我的父表单中,我正在调用我的iframe表单以获得一定的价值,然后根据该值启用或禁用我的提交我的
父表单中的按钮没有使用我的
表单中的任何刷新/重新加载或提交按钮。
In my parent form i''m calling a my Iframe form to get certain value,
then depending on that value enable or disable my submit button in my
parent form without using any refresh/reload or submit button in my
form.
请参阅下面的示例;但是,我怀疑你的努力不值得他们引起的问题,对于用户来说,在运行时停用javascript或修改脚本以使其工作确实是微不足道的。他/她想要的方式;-)
< script type =" text / javascript">
var someHTML ="< script type = \ " text\ / javascript \">" +
" function foo(){" +
" var bReturn = Math.random()< 0.5;" +
" document.body.innerHTML =''禁用? - > ''+ bReturn;" +
"返回bReturn; };" +
"< \ / script>" +
" Hello,World!" ;;
var bar = function(){
var oldHandler,falseHandler = new Function(" return false);
var oldAction,falseAction ="#" ;;
return function(frm){
var fr = frames [" myIframe"];
if(!oldHandler)oldHandler = frm.onsubmit;
if(!oldAction)oldAction = frm.action;
if(fr&& fr.foo){
if(fr.foo()){
frm.onsubmit = falseHandler;
frm.action = falseAction;
frm.elements [" mySubmitButton"]。disabled = true ;
} else {
frm.onsubmit = oldHandler;
frm.action = oldAction;
frm.elements [" mySubmitButton"]。disabled = false;
}
}
}();
< / script>
< form action =" foo.html" onsubmit =" return confirm(''Really?'')">
< input type =" button"值= QUOT;禁用" onclick =" bar(this.form)">
< input type =" submit" name =" mySubmitButton">
< input type =" submit">
< / form>
< iframe name =" myIframe" src =" javascript :parent.someHTML">< / iframe>
See below for an example; however, I suspect that your efforts are not
worth the issues they''ll cause, it''s indeed trivial for a user to just
deactivate javascript or modify script at run-rime to have it work the
way he/she wants ;-)
<script type="text/javascript">
var someHTML="<script type=\"text\/javascript\">"+
"function foo() {"+
" var bReturn=Math.random()<0.5;"+
" document.body.innerHTML=''disable ? -> ''+bReturn;"+
" return bReturn; };"+
"<\/script>"+
"Hello, World !";
var bar=function(){
var oldHandler, falseHandler=new Function("return false");
var oldAction, falseAction="#";
return function (frm){
var fr=frames["myIframe"];
if(!oldHandler) oldHandler=frm.onsubmit;
if(!oldAction) oldAction=frm.action;
if(fr && fr.foo){
if(fr.foo()){
frm.onsubmit=falseHandler;
frm.action=falseAction;
frm.elements["mySubmitButton"].disabled=true;
}else{
frm.onsubmit=oldHandler;
frm.action=oldAction;
frm.elements["mySubmitButton"].disabled=false;
}
}
}
}();
</script>
<form action="foo.html" onsubmit="return confirm(''Really?'')">
<input type="button" value="disable?" onclick="bar(this.form)">
<input type="submit" name="mySubmitButton">
<input type="submit">
</form>
<iframe name="myIframe" src="javascript:parent.someHTML"></iframe>
HolaGoogle写道:
HolaGoogle wrote:
好吧,我真的希望能以这种方式在我父母的形式上做这样的事情:
但是这不起作用....想法??
Well, i was realy hoping that it could be a
way to do something like this in my parent form: But this doesn''t work....any idea??
您的方法似乎很好,我已经让它在我的IE6 /离线上运行,请参阅
以下。你能告诉我更多关于你得到什么错误的信息,以及
平台/浏览器吗?
我还会添加一些物体检测以获得更好的效果后退,并给你的
iframe一个名称,以便能够从''frames''集合中引用它
正确。
- - fr1.html ---
< script type =" text / javascript">
function EnableDisableButton(){
var fr = frames [''myIframe''];
if(fr&& fr.document){
fr = fr.document.forms [0];
if(fr.elements [" MyIframeValue"]。value){
document.forms [0] .elements [" EnableDisable"]。disabled = false;
}
}
}
< / script>
< form action =" foo">
< input type =" submit"
disabled =" disabled"
name =" EnableDisable">
< / form>
< ifra me name =" myIframe"
onload =" EnableDisableButton()"
src =" fr2.html">< / iframe>
--- fr2.html ---
< form action =" foo">
< input type =" text"
name =" MyIframeValue"
value =" Hello,World!">
< / form>
问候,
是的。
Your approach seems fine and I''ve got it working on my IE6/offline, see
below. Could you tell me more about what error you get, and on which
platform/browser?
I''d also add some object detection for a better fallback and give your
iframe a name to be able to refer to it from the ''frames'' collection
correctly.
--- fr1.html ---
<script type="text/javascript">
function EnableDisableButton() {
var fr=frames[''myIframe''];
if(fr && fr.document){
fr=fr.document.forms[0];
if(fr.elements["MyIframeValue"].value) {
document.forms[0].elements["EnableDisable"].disabled=false;
}
}
}
</script>
<form action="foo">
<input type="submit"
disabled="disabled"
name="EnableDisable">
</form>
<iframe name="myIframe"
onload="EnableDisableButton()"
src="fr2.html"></iframe>
--- fr2.html ---
<form action="foo">
<input type="text"
name="MyIframeValue"
value="Hello, World!">
</form>
Regards,
Yep.
这篇关于从IFRAME到父母的价值。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!