Nico_35136
Messages postés55Date d'inscriptionmercredi 3 janvier 2007StatutMembreDernière intervention21 février 2012
-
1 avril 2009 à 15:43
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 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....
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 4 avril 2009 à 11:40
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>
Nico_35136
Messages postés55Date d'inscriptionmercredi 3 janvier 2007StatutMembreDernière intervention21 février 2012 4 avril 2009 à 10:28
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.
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 4 avril 2009 à 20:32
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)
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 5 avril 2009 à 07:17
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)
<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" />
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
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 6 avril 2009 à 18:14
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;
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)
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 6 avril 2009 à 22:32
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');
Nico_35136
Messages postés55Date d'inscriptionmercredi 3 janvier 2007StatutMembreDernière intervention21 février 2012 7 avril 2009 à 13:21
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?
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 7 avril 2009 à 17:10
<!--
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)