Valider un formulaire dans un Iframe

Mammouth du PHP | 684 Messages

22 mars 2007, 11:46

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.
Zigz4g

Mammouth du PHP | 684 Messages

22 mars 2007, 15:09

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.
Zigz4g

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

22 mars 2007, 16:04

Et un simple submit() du formulaire ne ferait pas l'affaire ?
function send() {
  window.document.frames['upload1'].forms['bouquin'].submit();
}
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 684 Messages

22 mars 2007, 16:19

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.
Zigz4g