Bonjour à toutes et à tous,
un petit problème JS que je n'arrive pas à résoudre parce que je ne sais pas encore débugger du code JS.
J'ai monté le code en piochant sur le net, mais manifestement, ça ne fonctionne pas.
Une balise form contient un chemin dans son attribut action.
Je voudrai, avant la soumission du formulaire, par un bouton submit, modifier le chemin en y ajoutant à la fin #monte10.
Afin d'atteindre, au prochain affichage du même formulaire la balise :
echo '<a name="monte'.$id_ordre_transport[$i]['value'].'">';
où la variable PHP contient dans cet exemple 10.
10 étant un numéro de ligne qui varie en fonction du bouton radio name="id_ordre_transport" qui est cliqué.
Le tout étant codé avec CodeIgniter, mais ça ne change pas grand chose (?), et encapsulé en PHP avec des echo.
Donc avec une gestion des " et des ' avec le caractère d'échappement \ selon les cas de figure.
1) Code source HTML - La balise form telle qu'elle est écrite, sans l'action du JS :
<form action="http://localhost/CI/CI220_FMT1/index.php/ORDRES_TRANSPORTS/ordres_transports_c" id="englobe_tout" name="formulaire" method="post" accept-charset="utf-8">
1bis) Code source PHP/CodeIgniter - Le même que 1), mais côté PHP :
echo form_open($form_action, 'id="englobe_tout" name="formulaire"');
2) Code source HTML - Un des boutons qui doit modifier l'attribut action de la balise form en prenant compte de la valeur du bouton radio cliqué pour la ligne chosie :
<input type="submit" name="action" value="Modifier" class = "bouton" onclick="document.getElementsByName('formulaire')[0].action='document.getElementsByName('formulaire')[0].action+'#monte'+ document.getElementsByName('id_ordre_transport')[0].value';" />
2bis) Code source PHP/CodeIgniter - Le même que 2), mais côté PHP :
echo form_submit('action', 'Modifier' , 'class = "bouton" onclick="document.getElementsByName(\'formulaire\')[0].action=\'document.getElementsByName(\'formulaire\')[0].action+\'#monte\'+ document.getElementsByName(\'id_ordre_transport\')[0].value\';"');
3) Code source HTML - Le bouton radio qui peut être cliqué pour choisir la ligne (ici la ligne 19) :
<input type="radio" name="id_ordre_transport" value="19" id="19" tabindex="201" />
3bis) Code source PHP/CodeIgniter - Le même que 3), mais côté PHP :
$html['id_ordre_transport'][$i] = array('name'=> 'id_ordre_transport', 'value'=>$ordres_transports[$i]['id_ordre_transport'], 'id'=>$ordres_transports[$i]['id_ordre_transport'],'tabindex' => 100 + 100 * $i + 1);
Le bug/problème est à chercher dans 2).
Merci pour votre aide !
Nils.
Partager