2013-04-05 39 views
1

这是一个奇怪的问题,我讨厌iFrames,但我使用PhoneGap和Codiqa进行移动应用程序开发,并且Codiqa输出HTML以及我想要的所有外部表单合并在Codiqa的HTML中加载到iframe中。 Codiqa使用div ID引用,以便当您单击菜单项时,它会将该页面ID加载到HTML中,然后在父窗口中加载该div内的iframe。另外,父窗口还有自己的提交,重置和返回按钮。我需要这些按钮来呼叫和使用加载在iFrame中的页面的功能...显然,这与parent.myfunction()的工作方式完全相反,我不知道这是甚至可能的还是如果我需要重新创建我的代码并且不使用iFrame,但我对于如何去做这件事我毫无头绪。 PHP包括不太好的工作我来找出...谢谢!或者,也许我只需要将每个表单的所有JS文件移动到父文件夹中,并且必须单独链接到表单。我不知道...请指教。下面是页面的某个ID的例子:在iFrame之外需要父按钮调用加载在iFrame内部的JS函数

HTML(Codiqa)

<a href="#page17" data-transition="flip"> 
    Extracting 
</a> 

<div data-role="page" id="page17"> 
     <div data-theme="a" data-role="header"> 
      <h3>Extracting</h3> 
     </div> 
     <div data-role="content"> 
      <iframe src="extraction/extract_form.html" 
      name="Cable_Extraction_Worksheet" class="contentiframe"></iframe> 
     </div> 
     <div data-role="tabbar" data-iconpos="left" data-theme="a"> 
      <ul> 
       <li> 
        <a href="#page1" data-transition="flip" data-theme="" data-icon="arrow-l"> 
        Back 
       </a> 
       </li> 
       <li> 
        <a href="#" data-transition="none" data-theme="" data-icon="minus"> 
        Reset 
       </a> 
       </li> 
       <li>//THIS IS THE BUTTON, AND JS FUNCTION I NEED TO CALL ONCLICK 
        <a onclick="uploaddata();" data-transition="none" data-theme="" data-icon="check"> 
        Submit 
       </a> 
       </li> 
      </ul> 
     </div> 
    </div> 

iframe的JS功能

function uploaddata() { 

//Read all of the data from the page 
for (eID in extractform) { 
    extractform[eID] = document.getElementById(eID).value; 
} 
     upload_extractform(); 
} 
function upload_extractform() { 
$.ajax({ 
    type: 'POST', 
    url: './php/upload_extractform.php', 
    data: extractform, 
    async: false, 
    dataType: 'text', 
    success: function() { 
     alert("Thank you. Your Extraction form has been submitted."); 

}, 

     error: function(jqXHR, textStatus, errorThrown) { 
     alert("Error... " + textStatus + "\n" + errorThrown); 
    } 
}); 
}; 

回答

0

我觉得这是我所期待的:

的onclick = “的document.getElementById( 'Cable_Extraction_Worksheet')contentWindow.uploaddata();”。

这是否可靠?有人说,它不适用于所有的浏览器或者其中有一些Jquery的函数。只是想验证,谢谢。

+0

此外,我需要能够实际使用iFrame的窗体动作,方法和onsubmit函数形式的父级onclick事件......我该怎么做? – jflay 2013-04-08 02:28:54