类似于这样:
window.frames[0].document.getElementsByName('spphotoform')[0].submit();
与子frame:
document.getElementsByName('spphotoform')[0].submit();竟然结果不一样。。
晕了
window.frames[0].document.getElementsByName('spphotoform')[0].submit();
与子frame:
document.getElementsByName('spphotoform')[0].submit();竟然结果不一样。。
晕了
这是Js Engine的bug?
这全是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 = ' ';
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" ) ;
}