[HTML + Javascript ] Webapp pour Iphone/ipod Touch [Résolu]

Nico_35136
Messages postés
55
Date d'inscription
mercredi 3 janvier 2007
Dernière intervention
21 février 2012
- 1 avril 2009 à 15:43 - Dernière réponse : PetoleTeam
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Dernière intervention
14 janvier 2011
- 16 avril 2009 à 18:28
Bonjours tous le monde,

Voila je souhaite réaliser une interface web sur mon iphone pour mon lapin nabaztag, je commence par la page qui permet au lapin de changer d'état (endormie ou réveillé) mais je but déjà sur un petit problème....

Voici mon code :

<!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">

<head>
<meta content="yes" name="apple-mobile-web-app-capable" />
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
<meta content="minimum-scale=1.0, width=device-width, maximum-scale=0.6667, user-scalable=no" name="viewport" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script src="javascript/functions.js" type="text/javascript"></script>
<title>Title of your site</title>
<meta content="keyword1,keyword2,keyword3" name="keywords" />
<meta content="Description of your site" name="description" />

<SCRIPT type="text/javascript">
function testMyCheck (formName, checkTab,message) {
for (i=0; i<document.forms[formName].elements[checkTab].length; i++) {
if(document.forms[formName].elements[checkTab][i].checked) {
return true;
}
}
alert (message);
return false;
}
</SCRIPT>


</head>











Etat




<FORM method=get name="sleep" action="http://api.nabaztag.com/vl/FR/api.jsp" target="xml">

<form name="e">

<li class="form">

Etat du Lapin


</li>






<li class="form">
</li>
</form>







</html>

voici ce qu'il m'envoie quand la checkbox est sur " ON " :

http://api.nabaztag.com/vl/FR/api.jsp?action=checkbox

Alors que ca devrais etre :

http://api.nabaztag.com/vl/FR/api.jsp?action=14&sn=0019DB9CFFE3&token=1230143000

et quand elle est sur " OFF " elle envoie :

http://api.nabaztag.com/vl/FR/api.jsp?

alors que cela devrais être :

http://api.nabaztag.com/vl/FR/api.jsp?action=13&sn=0019DB9CFFE3&token=1230143000


Aidez moi svp !


PS : pour vous donner une idée de l'interface voici l'adresse de la page en question :

http://nicolas.sizorn.free.fr/Framework/
Afficher la suite 

Votre réponse

20 réponses

Meilleure réponse
PetoleTeam
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Dernière intervention
14 janvier 2011
- 4 avril 2009 à 11:40
3
Merci
Bonjour, en vrac
- La fonction testycheck n'est
pas d'une grand utilité
- Créer un INPUT type
hidden avec la valeur non checked par défaut, 13 dans
ton cas, et un NAME action.
- Utilises le
changement d'état du CHECKBOX pour initialiser le
champ action.
- Un checkbox est envoyé que si il est coché, checked.
-
En ne mettant pas de NAME au checkbox il ne sera pas
envoyé.
...le résultat par exemple
<html>
<head>
</head>


<form method=get name="sleep" action="http:/
/api.nabaztag.com/vl/fr/api.jsp" target="xml">
  
  
  
  
  
</form>


</html>
Voilou...
;O)

Merci PetoleTeam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de PetoleTeam
Meilleure réponse
PetoleTeam
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Dernière intervention
14 janvier 2011
- 4 avril 2009 à 21:14
3
Merci
Ca c'est une bonne question...
Mettre une fonction
sur le onclick du SPAN qui modifie le CHECKBOX.

;O)

Merci PetoleTeam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de PetoleTeam
Meilleure réponse
Nico_35136
Messages postés
55
Date d'inscription
mercredi 3 janvier 2007
Dernière intervention
21 février 2012
- 6 avril 2009 à 22:36
3
Merci
Ca fonctionne ! Un grand merci à toi ! Je n'oublierai pas ! Bonne soirée

Merci Nico_35136 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de Nico_35136
PetoleTeam
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Dernière intervention
14 janvier 2011
- 3 avril 2009 à 15:56
0
Merci
Bonjour,
mets tes



dans
la FORM.
;O)
Commenter la réponse de PetoleTeam
Nico_35136
Messages postés
55
Date d'inscription
mercredi 3 janvier 2007
Dernière intervention
21 février 2012
- 4 avril 2009 à 10:28
0
Merci
Merci beaucoup PetoleTeam !

C'était tout con.... maintenant il ne me reste plus que le problème du script je souhaiterai que le script ajoute action=14 quand la checkbox est sur "on" et 13 sur "off"...

Le problème est que je ne m'y connais pas du tout en javascript alors j'ai juste ajouté le script en haut de mon code.....

Idem pour le bouton je vois pas comment lancer mon script en appuyant dessus.
Commenter la réponse de Nico_35136
Nico_35136
Messages postés
55
Date d'inscription
mercredi 3 janvier 2007
Dernière intervention
21 février 2012
- 4 avril 2009 à 10:29
0
Merci
j'ajouterais que j'ai trouvé le script sur internet donc sans doute que les variables ne sont pas bonne...
Commenter la réponse de Nico_35136
Nico_35136
Messages postés
55
Date d'inscription
mercredi 3 janvier 2007
Dernière intervention
21 février 2012
- 4 avril 2009 à 15:27
0
Merci
Voici le code une fois tous modifié :


<!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">

<head>
<meta content="yes" name="apple-mobile-web-app-capable" />
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
<meta content="minimum-scale=1.0, width=device-width, maximum-scale=0.6667, user-scalable=no" name="viewport" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script src="javascript/functions.js" type="text/javascript"></script>
<title>Title of your site</title>
<meta content="keyword1,keyword2,keyword3" name="keywords" />
<meta content="Description of your site" name="description" />


</head>







Chauffage



[index.html ][alarme.html Alarme]



[camera.html Camera]







Chauffage

<li class="menu">
Lever
</li>

<FORM method=get name="radio" action="http://api.nabaztag.com/vl/FR/api.jsp" target="xml">



<li class="form">



</li>




<li class="form">
</li>

</form>




</html>

un problème persiste action est toujours égale à 13

tu peu vérifier sur ma page :

http://nicolas.sizorn.free.fr/Framework/
Commenter la réponse de Nico_35136
PetoleTeam
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Dernière intervention
14 janvier 2011
- 4 avril 2009 à 20:32
0
Merci
le problème est que tu n'as pas accès directement à ton
CHECKBOX qui est masqué par un SPAN avec une image On/Off, donc le changement d'état n'est
pas pris en compte...
;O)
Commenter la réponse de PetoleTeam
Nico_35136
Messages postés
55
Date d'inscription
mercredi 3 janvier 2007
Dernière intervention
21 février 2012
- 4 avril 2009 à 20:43
0
Merci
Comment qu'on fais alors?
Commenter la réponse de Nico_35136
Nico_35136
Messages postés
55
Date d'inscription
mercredi 3 janvier 2007
Dernière intervention
21 février 2012
- 4 avril 2009 à 21:23
0
Merci
donc ça revient a faire ce qu'il y avais sur mon premier post?

if checked =14

else =13

mais je ne mis connais vraiment pas du tout ! Tu est bien plus calé que moi !
Commenter la réponse de Nico_35136
PetoleTeam
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Dernière intervention
14 janvier 2011
- 5 avril 2009 à 07:17
0
Merci
Bonjour,
<table bgcolor= "#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, donc ça revient a faire ce qu'il y avais sur
mon premier
post?</td>
</td></tr></tbody></table>non pas
exactement...
ton CHECKBOX n'étant pas
accessible, puisque caché, il te faut le commander à distance à travers le SPAN qui le masque. L'idée étant sur le onclick du SPAN de
basculer l'état du CHECKBOX.
exemple avec...


  

- il faut mettre un ID sur le CHECKBOX pour pouvoir
y accéder.
- il faut une fonction Change_Etat qui peut ressembler à cela

//--------------------
function Change_Etat(){

  var O_Form = document.forms.radio;               // recup objet
form
  var O_Check = document.getElementById( 'C_ETAT'); // recup objet checkbox
  O_Check.checked =
!O_Check.checked;              // inversion de l'etat du checkbox

  O_Form.action.value = O_Check.checked ? 14 : 13; // modification du champ hidden action
}
<table bgcolor ="#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, Tu est bien plus calé que moi
!</td>
</td></tr></tbody></table>là c'est juste
un problème de fauteuil...
;O)
Commenter la réponse de PetoleTeam
Nico_35136
Messages postés
55
Date d'inscription
mercredi 3 janvier 2007
Dernière intervention
21 février 2012
- 5 avril 2009 à 21:52
0
Merci
Voici mon code avec t’es modif

<!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">

<head>
<meta content="yes" name="apple-mobile-web-app-capable" />
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
<meta content="minimum-scale=1.0, width=device-width, maximum-scale=0.6667, user-scalable=no" name="viewport" />
<link href="css/style.css" rel="stylesheet" type="text/css" />

<script src="javascript/functions.js" type="text/javascript"> 
  function Change_Etat(){
  var O_Form = document.forms.radio;              
  var O_Check = document.getElementById( 'C_ETAT');
      O_Check.checked = !O_Check.checked;             
      O_Form.action.value = O_Check.checked ? 14 : 13; }
</script>

<title>Title of your site</title>
<meta content="keyword1,keyword2,keyword3" name="keywords" />
<meta content="Description of your site" name="description" />

</head>



   

        Chauffage

       

        [index.html ][alarme.html Alarme]

           

            [camera.html Camera]

           

    Chauffage
   

<FORM method=get name="radio" action="http://api.nabaztag.com/vl/FR/api.jsp" target="xml">
 
 
 
  <li class="form">
 
 

  </li> 
 

 
 
    <li class="form">
        </li>
   
</form>

</html>

mais cela ne règle pas mon problème action est toujours à 13 je pense que c’est normal puisque c’est ce que fais cette ligne :

 

mais quand je clique si la checkox elle change d’état ( normal me dirai tu ) mais quand je clic n’importe où sur la page la checkbox revient a sont état initial....

Ne pense tu pas que je devrais mettre quelque chose du genre :

[javascript:Change_Etat(); Envoyer]

Tu peu le constater sur ma page mais si tu veu tester sur ton bureau tu peu telecharger iWebkit 4.5.0 c’est très léger
Commenter la réponse de Nico_35136
PetoleTeam
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Dernière intervention
14 janvier 2011
- 6 avril 2009 à 18:14
0
Merci
Bonjour,
J'ai été voir et le problème est un peu
plus délicat qu'il n'y paraît...

Tout d'abord la fonction javascript est
mal intégrée dans ton document
<script src= "javascript/functions.js" type="text/javascript">

function Change_Etat(){
  var O_Form = document.forms.radio;
  var
O_Check = document.getElementById( 'C_ETAT');
  O_Check.checked =
!O_Check.checked;
  O_Form.action.value = O_Check.checked ? 14 : 13;
}

</script>
...c'est ce que l'on lit
<script src="javascript/functions.js"
type="text/javascript">
<script type="text/javascript"> // cette ligne est manquante
function
Change_Etat(){
  var O_Form = document.forms.radio;
  var O_Check =
document.getElementById( 'C_ETAT');
  O_Check.checked = !O_Check.checked;

  O_Form.action.value = O_Check.checked ? 14 : 13;
}

</script>
...c'est ce que l'on devarit lire

Le
problème maintenant...
Le fichier javascript inclus dans ton document par
cette ligne <script
src="javascript/functions.js" type="text/javascript"> ajoute un couche
supplémentaire à ton CHECKBOX, apparemment l'effet de
bouton coulissant en créant un SPAN supplémentaire
sous la forme HTML , donc il faut en tenir compte.

Plusieurs solutions s'offrent à toi...
La plus simple
tu mets un
name à ton CHECKBOX
et tu gères dans ton fichier api.jsp la présence de la valeur du CHECKBOX, si présente tu utilises la valeur 14 sinon la
valeur 13.

Une autre consisterait à aller modifier le fichier
function.js mais vu son écriture en ligne, li faut d'abord le rendre
présentable et voir les modification à faire...

Encore une autre
consiste à virer le fichier inclus et à ajouter directement le code que celui ci
rajoutes, lil va de soit qu'il faut modifier la fonction Change_Etat pour tenir
compte du décalage du background.
;O)
Commenter la réponse de PetoleTeam
Nico_35136
Messages postés
55
Date d'inscription
mercredi 3 janvier 2007
Dernière intervention
21 février 2012
- 6 avril 2009 à 19:43
0
Merci
le problème c'est que l'API est situé sur un serveur qui appartient à la société Violet .... Pas vraiment possible de le modifier....

Pour le function.js c'est vrai que c'est le bordel..... je vais demander au créateur du module si il ne possède pas de version plus propre.

c'est con chez iWebkit ils n'ont pas su me rencarder sur ce problème...
Commenter la réponse de Nico_35136
Nico_35136
Messages postés
55
Date d'inscription
mercredi 3 janvier 2007
Dernière intervention
21 février 2012
- 6 avril 2009 à 20:04
0
Merci
Bon visiblement il existe une version plus propre qui est fournis dans la version 4.5.3 tu poura y jeter un coup d'oeil.

Peu être que c'est tous bonnement pas possible pour moi ....
Commenter la réponse de Nico_35136
PetoleTeam
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Dernière intervention
14 janvier 2011
- 6 avril 2009 à 22:32
0
Merci
Je te livre ta source en ayant viré le fichier JS
inclus et en tenant compte du changement du background du SPAN
englobant dan la fonction Change_Etat()

<!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">
<head>
<meta content="yes"
name="apple-mobile-web-app-capable" />
<meta content="text/html;
charset=utf-8" http-equiv="Content-Type" />
<meta
content="minimum-scale=1.0, width=device-width, maximum-scale=0.6667,
user-scalable=no" name="viewport" />
<link href="css/style.css"
rel="stylesheet" type="text/css" />
<title>Title of your
site</title>
<meta content="keyword1,keyword2,keyword3"
name="keywords" />
<meta content="Description of your site"
name="description" />
<script type="text/javascript">
//<![CDATA[
var checkboxHeight = "25";

//--------------------------
function
Change_Etat( this_){
  //-- Recup des objets

  var O_Form  = document.forms.radio;
  var O_Check =
document.getElementById('I_CHECK');


  //-- Inverse le checkbox




  O_Check.checked = !O_Check.checked;

  //-- Change affichage suivant cas

  if( O_Check.checked)
    this_.style.backgroundPosition =
"0 -" + checkboxHeight * 2 + "px";
  else

    this_.style.backgroundPosition = "0 0";
  //-- Modifie la valeur du champ action

  O_Form.action.value = O_Check.checked ? 14 : 13;
}

//]]>
</script>

</head>

  

    

      Chauffage
    

    

      [index.html ]
      [alarme.html Alarme]
    

    

      [camera.html Camera]

    

  

  


    Chauffage
    
      <li class ="menu">
        Lever
         
      </li>
    

    <form method=get name="radio" action="http://api.nabaztag.com/vl/FR/api.jsp" target="xml">
      
      
      
      
        <li
class="form">
          

            
            
          
        </li>

      
      
        <li
class="form">
          

        </li>
      
    </form>

  


</html>



Voilou en gros...

;O)
Commenter la réponse de PetoleTeam
Nico_35136
Messages postés
55
Date d'inscription
mercredi 3 janvier 2007
Dernière intervention
21 février 2012
- 7 avril 2009 à 13:21
0
Merci
Ok dernière question et promis j'arrête de t'embêter pense tu qu'on peu enlever le bouton le bouton envoyer et appeler l'url rien qu'en changeant l'état de la checkbox?
Commenter la réponse de Nico_35136
PetoleTeam
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Dernière intervention
14 janvier 2011
- 7 avril 2009 à 17:10
0
Merci
<!--
Visualisation...,

-->




Bonjour,
tu peux tout à fait envoyer directement sur le
change, mais dans ce cas il n'existe pas de choix.
Il te suffit de rajouter
en fin de fonction Change_Etat la commande O_Form.submit().
;O)
Commenter la réponse de PetoleTeam
Nico_35136
Messages postés
55
Date d'inscription
mercredi 3 janvier 2007
Dernière intervention
21 février 2012
- 13 avril 2009 à 16:35
0
Merci
RE, Bon nouvelle question pour un nouveau code voici le code de ma page :

<!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">

<head>
<meta content="yes" name="apple-mobile-web-app-capable" />
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
<link href="pics/homescreen.png" rel="apple-touch-icon" />
<meta content="minimum-scale=1.0, width=device-width, maximum-scale=0.6667, user-scalable=no" name="viewport" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script src="javascript/functions.js" type="text/javascript"></script>
<title>iWebKit Demo - Try out iWebKit and create the ultimate iPhone website!
</title>
<meta content="iPod,iPhone,Webkit,iWebkit,Website,Create,mobile,Tutorial,free" name="keywords" />
<meta content="Try out all exclusive features iWebKit 4.0 has to offer and discover how far web developement can go. Create the ultimate WebApp!" name="description" />
</head>







[index.html ][integration.html Integration]






Scénario

<FORM method=get name="message" action="http://148.60.51.41:8082/cgi-bin/Cmd_X2D.cgi" target="xml" onSubmit="return controle()">




<li class="form">Arrivé</li>
<li class="form">Départ
</li>




<li class="form">
</li>




</html>


La chose que je voudrais faire c'est intégrer le script trouvé a cette page pour ouvrir 2 lien en même temps :

http://www.journaldunet.com/developpeur/tutoriel/dht/040830-javascript-ouvrir-deux-pages-avec-un-lien.shtml.

j'ai essayé de le faire moi même mais quand je clic sur le bouton il ne ce passe rien....
Commenter la réponse de Nico_35136
PetoleTeam
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Dernière intervention
14 janvier 2011
- 16 avril 2009 à 18:28
0
Merci
Bonjour,
Il est préférable d'ouvrir un autre Post
sinon peu de personne reviendra sur celui la attendu qu'il est clos.

Néanmoins je ne vois pas trace d'un script dans ce que tu nous mets.

;O)
Commenter la réponse de PetoleTeam

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.