Tableau de réservation : verouiller cellule

etlgreg Messages postés 5 Statut Membre -  
 Utilisateur anonyme -
Bonjour,

je suis "débutant" en script et je vous expose mon problème :

Je souhaiterai faire un tableau de réservation sur un site accéssible par plusieurs personnes, je souhaterai pouvoir faire pour chaque cellule du tableau une zone de texte vide (indiquée "Libre") ou les gens pourrons marquer leur nom une fois cette operation faite la case sera verouillée pour les autres personnes..

j'ai déjà fait le tableau mais je ne sais pas comment réaliser l'operation ci dessus.. quelqu'un aurait il un bout de code a me donner ??

Merci d'avance ..
A voir également:

2 réponses

Utilisateur anonyme
 
Essaye de faire une fonction javascript qui serait appelée lorsque l'utilisateur a fini sa saisie :
function ActiverRO(id){
     var champ = document.getElementById(id);
     if(champ.length != 0)
     champ.setAttribute("readonly","readonly");
}
Tu peux aussi réactiver la case en supprimant l'attribut readonly comme suit :
function SupprimerRO(id){
     var champ = document.getElementById(id);
     champ.removeAttribute("readonly");
}
1
etlgreg Messages postés 5 Statut Membre
 
Merci pour ta réponse, je viens d'essayer de faire une cellule comme cela :


<input type="text" id="Réservation"><br>
<input type="button" onclick="f()" value="V-R">
<script>
function f()
{
var champ = document.getElementById("Réservation")
if(champ.length != 0)
champ.setAttribute("readonly","readonly")
}
</script>



mais la case reste active et qd je l'actualise : le texte tapé disparait. En fait il faudrait qu'il y ait une "validation" qui prenne en compte la modification et le vérouillage de cette case ..

qu'est ce qui ne va pas dans ce code ?? va vraiment falloir que j'apprene lol..
0
etlgreg Messages postés 5 Statut Membre
 
finalment j'ai réussi a faire ce que je boulais grace a ton code (en le modulant un peu ;-)):

<input type="text" id="Réservation"><br>
<input type="button" onclick="f()" value="V-R">
<script>
function f()
{
var champ = document.getElementById("Réservation");
if(champ.length != 0)
champ.readOnly = true;
}
</script>



Par contre, dès que je rafraichi ma page (site en drupal) la case est vide et de nouveau active.. hors ce sera un tableau de réservation.. alors comment faire pour quelle reste v"rouillée pour tout le monde et aussi comment faire pour pouvoir autoriser seulement la personne qui a réservé de pouvoir la rendre vierge et active (en cas de trompage..) ??

Merci d'avance..
0
Utilisateur anonyme
 
Le javascript est exécuté côté Client. C'est donc logique que lors du rafraîchissement de ta page les cases reviennent à leur état initial.

Il faut que tu stockes quelque part le fait que la réservation est prise en compte. A mon avis tu utilises une base de données pour stocker tes réservations. Je te conseille donc à l'affichage de ton tableau de vérifier pour chaque date que tu affiches si il n'y a pas déjà une réservation. Si c'est le cas alors tu laisses la case en champs libre sinon tu la grises.

Si l'utilises se trompe alors tu devrais créer un bouton qui permettrait de modifier la saisie de l'utilisateur (En gros sur le onclick du bouton tu passes le champs en lecture/ecriture.
0