Php et javascript

Résolu
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009 - 3 sept. 2009 à 12:00
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009 - 7 sept. 2009 à 17:30
Bonjour,
A partir d'une interface en html (ou php) comment je peux génerer une nouvelle entrée dans un tableau .js en faisant entrée la donnée dans une zone de texte et en cliquant à un bouton valider ??

merci d'avance

12 réponses

Bemale Messages postés 24 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 11 septembre 2009
4 sept. 2009 à 22:38
Pour garder tes données la seule solution en HTML pur c'est d'utiliser des cookies
Genre une page comme ça (fonctionne sous FF 3.5 et opera 4.0) IE pas essayé.
Trés peu de commentaire je suis sorry.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script type="text/javascript">

var tab = new Array();



function add()
{
   tab.push(document.getElementById('valuetoins').value);

EcrireCookie();
   aff_tab();
   //alert(tab);



}

function aff_tab()
{
var rendu=document.getElementById('aff_tableau');

//suppression des éléments de la div
while (rendu.hasChildNodes())
{
rendu.removeChild(rendu.firstChild);
}

//on remplit la div avec les éléments du tableau
for(i=0;i<tab.length;i++)
{
var noeudtexte = document.createTextNode(tab[i]);
var saut = document.createElement('br');
rendu.appendChild(noeudtexte);
rendu.appendChild(saut);
}
}

function EcrireCookie()
{
//	var tableau_plat = tab.join('%2C');
document.cookie="tableau="+escape(tab);
}

function LireCookie()
{

 if(document.cookie)
 {
  var a_recherche = "tableau=";
  var valeurdepart = document.cookie.indexOf(a_recherche) + a_recherche.length;
  var valeurfin = document.cookie.indexOf(";");
  if(valeurfin == -1) 
  valeurfin = document.cookie.length;
  var tableau_plat=document.cookie.substring(valeurdepart,valeurfin);
  tab =  tableau_plat.split('%2C');
  
 }
 return true;
}

</script>
</head>






<script type="text/javascript">
LireCookie();
aff_tab();
</script>







</html>
3
Bemale Messages postés 24 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 11 septembre 2009
7 sept. 2009 à 14:19
Un truc comme ça ?
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script type="text/javascript">

var tab = new Array();



function add()
{
   tab.push(document.getElementById('valuetoins').value);

EcrireCookie();
   aff_tab();
   //alert(tab);



}

//Suppression de l'indice passé en param
function supp(indice)
{
var tab_tmp = new Array();
for (i=0;i<tab.length;i++)
{
if (i!=indice)
{
tab_tmp.push(tab[i]);
}
}

tab = tab_tmp;

EcrireCookie();
aff_tab();	
}

function aff_tab()
{
var rendu=document.getElementById('aff_tableau');

//suppression des éléments de la div
while (rendu.hasChildNodes())
{
rendu.removeChild(rendu.firstChild);
}

//on remplit la div avec les éléments du tableau
for(i=0;i<tab.length;i++)
{
var noeudtexte = document.createTextNode(tab[i]);
var ancre = document.createElement('a');
var saut = document.createElement('br');
ancre.href='#';
ancre.id=i;
ancre.onclick = function () { supp(this.id) ; return true ; } ;

ancre.appendChild(document.createTextNode('X'));
rendu.appendChild(noeudtexte);
rendu.appendChild(ancre);
rendu.appendChild(saut);
}
}

function EcrireCookie()
{
//	var tableau_plat = tab.join('%2C');
document.cookie="tableau="+escape(tab);
}

function LireCookie()
{

 if(document.cookie)
 {
  var a_recherche = "tableau=";
  var valeurdepart = document.cookie.indexOf(a_recherche) + a_recherche.length;
  var valeurfin = document.cookie.indexOf(";");
  if(valeurfin == -1) 
  valeurfin = document.cookie.length;
  var tableau_plat=document.cookie.substring(valeurdepart,valeurfin);
  tab =  tableau_plat.split('%2C');
  
 }
 return true;
}

</script>
</head>






<script type="text/javascript">
LireCookie();
aff_tab();
</script>







</html>
3
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 11
3 sept. 2009 à 13:52
Bonjour,

Je ne suis pas sur d'avoir tout suivis mais :

var tab = new Array("hello", "holla");
function add()
{
   tab.push(document.getElementById('valuetoins').value);
}




_________________________________
Min iPomme
0
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009
3 sept. 2009 à 14:11
merci pr votre interét
mais le code ne marche plus rien ne s'ajoute au tableau
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 11
3 sept. 2009 à 14:21
Chez moi ca semble fonctionner :

<script type="text/javascript">
var tab = new Array("hello", "holla");

function add()

{

   tab.push(document.getElementById('valuetoins').value);
   alert(tab);

}
</script>





Quand j'entre "Test" dans l'input type texte et que je clique sur "Ajouter au tableau", j'ai bien dans l'alerte "hello,holla,Test"...

Mais es bien ta question ?


_________________________________
Min iPomme
0
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009
3 sept. 2009 à 16:13
oui le code est bien mé a vrai dire c'est pas ça ce que je voulais . Le soucis c'est que lorsqu'une page est actualiser, les données Js sont réinitialisées donc toutes les variables (dont les tableaux) se vide.
0
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009
5 sept. 2009 à 00:07
merci bien c'est ce que je voulais exactement
0
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009
7 sept. 2009 à 13:30
Re
bonjour
j'ai une question j'aimerai bien avoir une reponse si c'est possible :
apres avoir remplir le tableau ,comment je pourrai supprimer des élement de tableau ??
merci d'avance
0
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009
7 sept. 2009 à 15:05
oui
je vous remercie infiniment
0
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009
7 sept. 2009 à 16:03
Re
dsl encors une fois j'ai une autre question .
est ce que je peux utiliser le contenu du cookie(tableau) dans un autre fichier .js ?
si oui comment je doit le déclarer ?
0
Bemale Messages postés 24 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 11 septembre 2009
7 sept. 2009 à 17:00
Pour moi, oui.
Même si je n'ai pas fait de serialisation de tableau.
J'ai mis le code de la fenêtre appelée.
par
[test_cookie.html  On affiche le cookie ailleurs]

Effectivement il vaut mieux factoriser le code dans un .js
On l'appelle
<SCRIPT language="JavaScript" src="url.js"></SCRIPT>

entre les balises <head></head>.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Cookie</title>
<script type="text/javascript">

var tab = new Array();



function add()
{
   tab.push(document.getElementById('valuetoins').value);

EcrireCookie();
   aff_tab();
   //alert(tab);



}

function supp(indice)
{
var tab_tmp = new Array();
for (i=0;i<tab.length;i++)
{
if (i!=indice)
{
tab_tmp.push(tab[i]);
}
}

tab = tab_tmp;

EcrireCookie();
aff_tab();	
}

function aff_tab()
{
var rendu=document.getElementById('aff_tableau');

//suppression des éléments de la div
while (rendu.hasChildNodes())
{
rendu.removeChild(rendu.firstChild);
}

//on remplit la div avec les éléments du tableau
for(i=0;i<tab.length;i++)
{
var noeudtexte = document.createTextNode(tab[i]);
var ancre = document.createElement('a');
var saut = document.createElement('br');
ancre.href='#';
ancre.id=i;
ancre.onclick = function () { supp(this.id) ; return true ; } ;

ancre.appendChild(document.createTextNode('X'));
rendu.appendChild(noeudtexte);
rendu.appendChild(ancre);
rendu.appendChild(saut);
}
}

function EcrireCookie()
{
//	var tableau_plat = tab.join('%2C');
document.cookie="tableau="+escape(tab);
}

function LireCookie()
{

 if(document.cookie)
 {
  var a_recherche = "tableau=";
  var valeurdepart = document.cookie.indexOf(a_recherche) + a_recherche.length;
  var valeurfin = document.cookie.indexOf(";");
  if(valeurfin == -1) 
  valeurfin = document.cookie.length;
  var tableau_plat=document.cookie.substring(valeurdepart,valeurfin);
  tab =  tableau_plat.split('%2C');
  
 }
 return true;
}
</script>
</head>





<script type="text/javascript">
LireCookie();
aff_tab();
</script>

</html>
0
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009
7 sept. 2009 à 17:30
pardon j'ai pas bien saisi
voila je m'explique un peu plus j'ai ce scripte .js dans un fichier a part



var tab = new Array()
window.onload=function()

{ var nom=unescape(self.location.pathname).split('/');
var pag=nom[nom.length-1];
var nb1=tab.length;
var sui=0;
for ( i=0; i<nb1; i++ )
{ if ( tab[i]==pag )
{ sui=i+1;
if ( sui >= nb1 )
{ sui=0; }
break;
}
}
setTimeout ( function(){
location.replace( tab[sui] ); },3000 );
}


cette fonction me permet d'afficher plusieurs pages web d'une façon periodiques.
c pour cela je voulais utiliser mon tableau (stocker dans la cookie) qui doit contenir les noms de pages à afficher.
mais comment l'appeler c'est ca ma question
0
Rejoignez-nous