Bonjour à tous.
Je suis étudiant en seconde année de DUT, et j'ai comme projet de seconde année le développement d'une application smartphone pour accéder aux principales fonctionnalités du site de l'IUT. Pour cela, nous avons choisi d'utiliser Cordova (anciennement phoneGap http://cordova.apache.org/ pour ceux qui ne connaîtraient pas...).
Pour accéder aux différentes données du site, et sachant que nous ne pouvons utiliser que des langages clients avec Cordova, nous avons choisi de faire appel à l'iframe. Je vous arrête avant que vous parliez de cross-domain, car cordova possède une "liste blanche", qui autorise justement le cross-domain. Là où se pose mon problème, c'est que l'iframe s'affiche etc... Mais je n'arrive pas à modifier son contenu, comme par exemple remplir un formulaire.
Voici mon code :

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
<head>
   <iframe id=maFrame src="http://www.iutbayonne.univ-pau.fr/user"></iframe> 
</head>
 
<form>
<label for="edit-name">Nom d'utilisateur : <span class="form-required" title="Ce champ est obligatoire.">*</span></label>
 <input type="text" maxlength="60" name="name" id="edit-name" size="60" value="" class="form-text required" />
 <div class="description">Entrez votre nom d'utilisateur pour IUT de Bayonne et du Pays Basque.</div>
</div>
<div class="form-item" id="edit-pass-wrapper">
 <label for="edit-pass">Mot de passe : <span class="form-required" title="Ce champ est obligatoire.">*</span></label>
 <input type="password" name="pass" id="edit-pass"  maxlength="128"  size="60"  class="form-text required" />
 <div class="description">Entrez le mot de passe correspondant à votre nom d'utilisateur.</div>
</div>    
    <input type="button" value="tester" onclick="recupFrame()">
</form>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<script language = "javascript">
    function recupFrame()
            {
                var x = document.getElementById("maFrame"); //Récupération de l'iframe créée dans le head
                var y = (x.contentWindow || x.contentDocument); //Récupération du contenu de l'iframe
 
                login = document.getElementById("edit-pass").value; //Récupération des données du formulaire
                mdp = document.getElementById("edit-name").value; //idem
                y.getElementById("edit-name").value = login; //Sur le site, les noms des champs sont les mêmes que ceux du formulaire que j'ai créé au dessus
                y.getElementById("edit-pass").value = mdp;
            }
</script>
C'est très basique et assez moche, mais pour l'instant, je veux juste que ça marche. Je sais aussi que je n'envoie pas le formulaire à la fin, mais pour le moment j'aimerai juste remplir les champs au travers de l'iframe.

Voilà, j'espère avoir été clair, et que vous saurez m'aider....

Merci d'avance en tout cas