类似于这样:
window.frames[0].document.getElementsByName('spphotoform')[0].submit();
与子frame:
document.getElementsByName('spphotoform')[0].submit();竟然结果不一样。。
晕了

解决方案 »

  1.   

    让我郁闷的是明明是存在的方法,却不能调用,导致我程序出错。
    这是Js Engine的bug? 
      

  2.   

    window.frames['frmMain'].contentWindow.Ok()
      

  3.   

    window.frames['frmMain'].contentWindow.Ok()
      

  4.   

    请问还需要哪个部分的代码?
    这全是FCKeditor的代码,我的代码只有两行,就是我在一楼说的:在FCKeditor的dialog窗口调用:
    window.frames[0].document.getElementsByName('spphotoform')[0].submit();
    在FCKeditor的dialog的子窗口(window.frames[0])调用:
    document.getElementsByName('spphotoform')[0].submit(); 
    两个调用结果竟然不一样。
    目的是让FCKeditor提交表单。图片上的代码全是FCKdialog上的代码。全文如下://#### The OK button was hit.
    function Ok()
    {
    var bHasImage = ( oImage != null ) ;
    if ( !bHasImage )
    {
    oImage = FCK.CreateElement( 'IMG' ) ;
    }
    //else
    //oEditor.FCKUndo.SaveUndoStep() ;


    UpdateImage( oImage ) ; var imgalignlist= new Array("","left","center","right");
    var imgalign;
    for(i=0;i<4;i++)
    {
    if(linkForm.spImgAlign1[i].checked)
    {
    imgalign = imgalignlist[i];
    }
    }
    if ( !bHasDiv ){
    if ( !bHasImage )
    oEditor.FCKSelection.SelectNode( oImage ) ;
    //var inhtml = oImage.outerHTML;
    oDiv = FCK.CreateElement( 'DIV' ) ;
    //ioDiv.innerHTML = inhtml;
    oDiv.appendChild(oImage);

    }/*
         var tmpDiv = FCK.CreateElement( 'DIV' );
         tmpDiv.innerHTML = '&nbsp;';
         tmpDiv.className = 'tmpDiv';
         oDiv.parentNode.appendChild(tmpDiv);
    */
    SetAttribute(oDiv,'align',imgalign);
    SetAttribute(oDiv,'forimg',1); if ( linkForm.spImgThumb1[0].checked==true && !bHasImage ){
    var sLnkUrl = GetE('url').value.Trim();
    if( (/^http:\/\/hiphotos.baidu.com/gi).test(sLnkUrl) )
    sLnkUrl=sLnkUrl.replace("/abpic/","/pic/");
    oEditor.FCKSelection.SelectNode( oImage ) ;
    // oLink = oEditor.FCK.CreateLink(sLnkUrl ) ;
    var aLinks = oLink ? [ oLink ] : oEditor.FCK.CreateLink( sLnkUrl ) ;
    var aHasSelection = ( aLinks.length > 0 ) ;
    if ( !aHasSelection )
    {
    sInnerHtml = sLnkUrl;
    var oLinkPathRegEx = new RegExp("//?([^?\"']+)([?].*)?$") ;
    var asLinkPath = oLinkPathRegEx.exec( sLnkUrl ) ;
    if (asLinkPath != null)
    sInnerHtml = asLinkPath[1];  // use matched path
    aLinks = [ oEditor.FCK.CreateElement( 'a' ) ] ;
    }
    for ( var i = 0 ; i < aLinks.length ; i++ )
    {
    oLink = aLinks[i] ; if ( aHasSelection )
    sInnerHtml = oLink.innerHTML ; // Save the innerHTML (IE changes it if it is like an URL). oLink.href = sLnkUrl ;
    SetAttribute( oLink, '_fcksavedurl', sLnkUrl ) ;
    oLink.innerHTML = sInnerHtml ; // Set (or restore) the innerHTML SetAttribute( oLink, 'target', "_blank" ) ;
    }