从IFRAME到父母的价值。 [英] PASSING VALUE FROM IFRAME TO PARENT.

查看:45
本文介绍了从IFRAME到父母的价值。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述




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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆