Trucsweb.com

Forum de discussion

 Forum « Programmation Javascript » (archives)

Re: recuperation et envoi de données

Envoyé: 13 février 2004, 8h21 par Oznog


Salut,

1. Hum, il fonctionne très bien ton code1

Exemple (j'ai seulement enlevé ce qui ne sert à rien!)

<SCRIPT type=text/javascript>
function test(l,c){
var t = document.getElementById("l"+l+"_c"+c);
window.status=t.value;
}
</SCRIPT>

<table>
<tr><td id=l1_c1 onMouseDown="test(1,1);" value="11">Test 11</td></tr>
<tr><td id=l1_c2 onMouseDown="test(1,2);" value="12">Test 12</td></tr>
<tr><td id=l1_c3 onMouseDown="test(1,3);" value="13">Test 13</td></tr>
<tr><td id=l1_c4 onMouseDown="test(1,4);" value="14">Test 14</td></tr>
</table>

Maintenant, tu peux optimiser ce code (le rendre portable) mais avant il faudrait savoir ce que tu veux réellement faire!

Sinon, pour passer ces valeurs à un serveur tu n'as pas 36 solutions, une seule UN FORMULAIRE, et deux méthodes, GET ou POST. (D'ailleurs, rien dans ton message n'inque pourquoi utiliser tableau au lieu de "checkbox" ou "radio button" QUI ENVERRAIS automatiquement les valeurs!)

Enfin, si tu veux absolument tes valeurs dans une cellule de tableau (table) tu dois passer la valeur dans un élément de formulaire afin qu'elle parte en même temps que le formulaire (après avoir cliqué "soumettre")

Tu peux le faire en "visible"

<input type="text" name="monChampVisible" >

Et dans ta fonction Javascript
Exemple :

document.monFormulaire.monChampVisible.value=t.value;

Normalement on utilise une "champ caché" ou "hidden".

<input type="hidden" name="monChampCache" >

Et lui passer des valeur ainsi :

document.monFormulaire.monChampCache.value=t.value;

Tout ça si ton formulaire s'appelle bien "monFormulaire"!

<form name="monFormulaire">

=============

2. Pour un tableau (array). Ce n'est pas possible. Les valeurs d'un formulaire, exactement comme une page HTML, l'en-tête HTTP, tant en méthode GET (jumelé avec le URL) qu'avec la méthode POST (parallèle à l'en-tête HTTP). NE SONT QU'UNE SIMPLE CHAÎNE DE CARACTÈRES.

Cette chaine est ensuite décodé, par le navigateur, par un moteur serveur, un telephone sans fil ou tout autre chose qui récupère une chaine HTTP!

Voir MéthodeHTTP

La récupération dépend donc du moteur qui récupère la chaîne étant TOUJOURS LA MÊME. Certains font la job, comme le ASP avec request.querystring("monChampCache") ou request.form("monChampCache") ou simplement en PHP $monChampCache mais d'autre ne font absolument rien et tu dois le faire manuellement comem le Javascript "Récupérer un formulaire en Javascript" (http://www.trucsweb.com/Javascript/trucs.asp?no=303&type=5).

Alors comment passer un ARRAY (et bien comme un bon CSV, il suffit d'utiliser un séparateur entre chaque valeur et de décoder le tout à la réception.

monTableau=val1|val2|val3|val4|

Un tableau à deux dimensions? un deuxième séparateur :

monDoubleTableau=vala1|vala2|vala3~valb1|valb2|valb3

Bon, pour récupérer ça, il suffit de faire un "split" sur le séparateur "|" de la chaîne monDoubleTableau puis un autre "split" sur le séparateur "~" avec chaque résultat.

MAIS MAIS MAIS, avant d'avoir toute la communauté PHP sur le dos, le PHP a intégré une fonctuionnalité pour faire ce "split" automatiquement en autant que tu ajoute le "$" devant le nom de champ (hidden ou text). MAIS CONTRAIREMENT À CE QUE BEAUCOUP PENSE, ce n'est pas un tableau (array) qui est passé, mais une chaîne avec des séparateurs que PHP "split" de façon transparente! D'ailleurs il ne peut pas le faire sur un tableau à double dimension, ce que manuellement on peut faire et même à dimensions illimitées en principe!

Ciao
Oznog


Réponses

 sp spRe: recuperation et envoi de données hbrice13/2/2004
Aucun médias sociaux
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@