2010-11-23 6 views
0

Je reçois plusieurs iframes dans une page chacun contient un formulaire, et je mets le bouton de soumission en dehors des iframes, et quand l'utilisateur appuie sur soumettre tous les formulaires doivent être soumis, puis la page doit être fermée, quelqu'un peut m'aider dans ce domaine?soumettre plusieurs formulaires

cette fonction appelée onclick sur le bouton d'envoi

function Save_Close() 
    { 
     if (window.frames.intake_pat_info_iframe && window.frames.intake_pat_info_iframe._Submit('Update')) { 
      window.frames.intake_pat_info_iframe._Submit('Update'); 

     } 
     if (window.frames.intake_job_info_iframe && window.frames.intake_job_info_iframe._Submit('Update')) { 
      window.frames.intake_job_info_iframe._Submit('Update'); 

     } 
     if (window.frames.intake_spine_his_iframe && window.frames.intake_spine_his_iframe._Submit('Update')) { 
      window.frames.intake_spine_his_iframe._Submit('Update'); 

     } 
     if (window.frames.intake_past_med_history_iframe && window.frames.intake_past_med_history_iframe._Submit('Update')) { 
      window.frames.intake_past_med_history_iframe._Submit('Update'); 
    } 

....

<input type="button" id="" name="" value="Save & Close" onclick="Save_Close()"/> 

thnx

Répondre

0

Tant que vous pouvez utiliser Javascript et que vos iframes sont tous servis depuis le même serveur, ce n'est pas si difficile. Une approche JS en ligne complètement pur ressemble (cela utilise ASP.NET pour les choses côté serveur, mais le bit important est le gestionnaire onclick() dans le bouton)

<%@ Page Language="C#" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 
<head> 
    <title>IFRAME form submit demo</title> 
</head> 
<body> 
    <iframe name="iframe1" src="my_form.aspx"></iframe> 
    <iframe name="iframe2" src="my_form.aspx"></iframe> 
    <iframe name="iframe3" src="my_form.aspx"></iframe> 
    <iframe name="iframe4" src="my_form.aspx"></iframe> 
    <input type="submit" value="Submit All IFrames" 
      onclick="for(var i = 0; i < frames.length; i++) { frames[i].document.forms[0].submitButton.click(); }" /> 
</body> 
</html> 

EDIT: appelle maintenant explicitement form.submitButton .click() au lieu de form.submit() pour appeler les fonctions liées au gestionnaire Click du bouton.

+0

je veux utiliser la fonction dans ces IFrames pour soumettre les formes – ama

0

Ce n'est pas facile à réaliser. Chaque IFrame est un document différent, et un bouton de soumission ne fonctionnera que sur un seul formulaire, celui auquel il appartient. Pour que cela fonctionne, vous devrez collecter les données de tous les IFrames en utilisant javascript pour remplir un ou plusieurs champs cachés du formulaire sur lequel le bouton de soumission est activé.

Si les IFrames différents sont sur des domaines différents cependant, cela ne sera pas possible en raison de la politique de sécurité same origin.

+0

Je suis en fonction dans chaque iframe peut soumettre le formulaire inclus là, le bouton global devrait appeler ces fonctions pour soumettre des formulaires, mais il ne soumettre que le premier formulaire .. – ama

+0

@ama - C'est vrai. Un bouton de soumission ne soumettra que le formulaire sur lequel il se trouve. Si vous souhaitez appeler des fonctions sur d'autres IFrames, vous devez les appeler depuis votre bouton de soumission via javascript. Il est difficile de vous donner des conseils plus précis sans voir votre code. – Oded

Questions connexes