Page 1 sur 1

Valider un formulaire dans un Iframe

Posté : 22 mars 2007, 11:46
par zigz4g
Salut tout le monde.
Je cherche a valider un formulaire qui se trouve dans un iframe.

Voici ma page principale qui affiche un bouton sur lequel je veux mettre une action. Cette action permettra de valider le formulaire dans l'Iframe.
<?php
// Ma page principale
// index.php
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Test iframe avec JS</title>
</head>
<body>
<div id="conteneur">
    <iframe id="upload1" name="upload1" src="test-upload-file.php">
    </iframe>
    <input type="button" name="valider" value="Valider" onclick="return send();" />
</div>
<script language="text/javascript" type="text/javascript">
window.document.frames['upload1'].forms['bouquin'].test0.value = "Veut deja remplir mon texte.";
</script>
</body>
</html>
<?php
// Ma page qui contient le formulaire. Celui que je veux valider.
// test-upload-file.php
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Test iframe avec JS</title>
</head>
<body>
<div id="conteneur">
    <form name="bouquin" action="test-upload-file.php" method="post" enctype="multipart/form-data">
        <input type="file" name="file0" />
        <input id="test0" type="text" name="test0" />
        <input type="submit" name="valider" value="Valider" />
    </form>
</div>
</body>
</html>
J'arrive a obtenir la frame en javascript mais je n'arrive pas a acceder aux elements dans la page appeler dans la frame (test-upload-file.php).
Je pense a une raison de securite mais je n'en suis pas sur.

Existe-t-il une solution pour faire croire a la page que quelqu'un clique sur valider ?
Je pensais aussi a faire un rechargement de la page dans la frame et de traiter un evenement sur la page du formulaire. Comme quand on peut savoir que la page se ferme par exemple. Mais je manque d'infos sur cette possibilite.

Posté : 22 mars 2007, 15:09
par zigz4g
J'ai peut etre trouver la solution. Au lieu de vouloir valider le formulaire a partir de mon bouton, je gere l'action onchange dans le formulaire de mon iframe.

Posté : 22 mars 2007, 16:04
par Ryle
Et un simple submit() du formulaire ne ferait pas l'affaire ?
function send() {
  window.document.frames['upload1'].forms['bouquin'].submit();
}

Posté : 22 mars 2007, 16:19
par zigz4g
Et un simple submit() du formulaire ne ferait pas l'affaire ?
function send() {
  window.document.frames['upload1'].forms['bouquin'].submit();
}
J'ai deja essayé cette solution mais :
Firefox me retourne :
window.document.frames has no properties

Je pense qu'il n'est pas possible d'acceder au dom de la page dans l'iframe pour des raisons de securite.