Bonjour,
Voila je rencontre un petit problème avec mon code.
Je suis débutante en CakePHP mais également en javascript... Ca n'arrange donc pas mon problème ^^'
J'explique ce que je souhaite faire.
Sur mon site, j'ai un tableau recensant mes utilisateurs.
Tableau que voici (dans mon template Users/index.ctp) :
<table cellpadding="0" cellspacing="0">
<thead>
<tr id="titreCol">
<th><?= $this->Paginator->sort('username', 'Identifiant') ?></th>
<th><?= $this->Paginator->sort('name', 'Nom') ?></th>
<th><?= $this->Paginator->sort('first_name', 'Prénom') ?></th>
<th class="emailUser"><?= $this->Paginator->sort('email', 'Email') ?></th>
<th><?= $this->Paginator->sort('profil_id', 'Profil') ?></th>
<th><?= $this->Paginator->sort('status', 'Statut') ?></th>
<th class="actions"><?= __('Actions') ?></th>
</tr>
</thead>
<tbody>
<?php $i = 0; ?>
<?php foreach ($users as $user): ?>
<tr id="<?= $i ?>">
<td class="username"><?= h($user->username) ?></td>
<td class="name"><?= h($user->name) ?></td>
<td class="first_name"><?= h($user->first_name) ?></td>
<td class="email"><?= h($user->email) ?></td>
<td class="profil_id"><?= h($user->profil_id) ?></td>
<?php
if($user['status'] == 0)
{
$user->status = "Actif";
}
else
{
$user->status = "Inactif";
}
?>
<td class="status"><?= h($user->status) ?></td>
<td class="actions">
<span>
<button id="buttonUpdate"><img src="/Intranet/img/update.gif" /></button>
<?php /*echo $this->Html->link(
$this->Html->image('update.gif', array('alt' =>'Modifier')),
array('controller' => 'users', 'action' => 'edit', $user->id),
array('escape' => false))*/ ?>
</span>
<span>
<?= $this->Form->postLink(
$this->Html->image('delete.png', array('alt' => 'Supprimer')),
array('controller' => 'users', 'action' => 'delete', $user->id),
$options = ['confirm' => __('Etes-vous sûr de vouloir supprimer l\'utilisateur {0} {1}?', $user->first_name, $user->name), 'escape' => false]);
?>
</span>
</td>
</tr>
<?php $i++; ?>
<?php endforeach; ?>
</tbody>
</table>
Comme vous pouvez le voir, en face de chaque ligne, j'ai un bouton "modifier". J'aimerai que lorsque je clique sur ce bouton, les champs de la ligne concernée se transforment en input, pour pouvoir modifier l'utilisateur directement dans le tableau.
Pour le moment, j'ai réussi à créer une action javascript en cliquant sur le bouton modifier de la première ligne.
$(document).ready(function()
{
$("#buttonUpdate").click(function()
{
alert('bonjour!');
});
});
Un morceau de code tout basique quoi. Néanmoins, premier soucis, seul le bouton de la première ligne fonctionne, les autres non.
Second soucis, et le plus important, comment modifier mes champs en input et select ?
J'ai vu qu'il existait une fonction replaceWith qui permet de remplacer une div par une autre, mais là ce serait plutôt des td à la place des div. Est-ce possible ? Et comment lier tout ça à CakePHP ? J'ai déjà une fonction edit, mais je ne sais pas comment la lier à ce que je veux...
Merci par avance pour votre aide, en espérant que mon message soit assez clair ^^'
Ju'