problème de position

Mammouth du PHP | 702 Messages

18 juin 2012, 11:36

Bonjour à tous, j'ai un soucis avec un script de positionnement, que j'ai créé.

En fait il s'agit d'un formulaire, pour des questions de css, les lignes sont affichées dans un tableau par php et un while du coup j'ai de nouvelles lignes autant que ma condition est remplie.

Je souhaite à présent ajouter des lignes supplémentaires, j'ai donc créé ce petit code en javascript en trouvant source d'inspiration à droite et gauche (ce qui n'est pas le moyen le plus sur je vous l'accorde).

J'ai ce code ci qui affiche mon formulaire en php avec le bouton d'ajour de ligne siplémentaire:
<form action="#" method="post">
<?php $sql="SELECT * FROM `scenarii` WHERE `code_s`='".mysql_real_escape_string($_GET['code_s'])."'";
$result= mysql_query($sql) or die(__LINE__.mysql_error().$sql);
echo "<table width='100%' id='box-table-a' align='center'>";
echo "<thead><tr><th scope='col' width='5%'><strong>ID</strong></th><th scope='col' width='5%'><strong>CODE</strong></th><th scope='col' width='20%'><strong>TITRE</strong></th><th scope='col' width='15%'><strong>ACTION</strong></th><th scope='col' width='30%'><strong>DESCRIPTION</strong></th><th scope='col' width='5%'><strong>JOURS</strong></th><th scope='col' width='25%'><strong>ACTIONS</strong></th></tr></thead><tbody>";
$i=0;
while($donnees= mysql_fetch_assoc($result)) {
?>
	<tr>
    	<td><input name="data[<?php echo ++$i; ?>][id]" type="text" value="<?php echo strtoupper($donnees['id']) ; ?>" size="5" readonly="readonly" /></td>
        <td><input name="data[<?php echo $i; ?>][code_s]" type="text" value="<?php echo strtoupper($donnees['code_s']) ; ?>" size="10" readonly="readonly"  /></td>
        <td><input name="data[<?php echo $i; ?>][titre]" type="text" value="<?php echo strtoupper($donnees['titre']) ; ?>" size="50" /></td>
        <td><input name="data[<?php echo $i; ?>][action]" type="text" value="<?php echo strtoupper($donnees['action']) ; ?>" /></td>
        <td><input name="data[<?php echo $i; ?>][libelle]" type="text" value="<?php echo strtoupper($donnees['libelle']) ; ?>" size="50" /></td>
        <td><input name="data[<?php echo $i; ?>][jour]" type="text" value="<?php echo strtoupper($donnees['jour']) ; ?>" size="5" /></td>
		<td><a href="javascript:confirmDelete('delete-action-relance.php?id=<?php echo $donnees['id'] ; ?>')"><img src="images/list-delete.png" width="24" height="24" border="0" /></a> <a href="#" onClick="addaction('dynamicInput');"><img src="images/list2-add.png" width="24" height="24" border="0" /></a> <a href="duplicate-courrier.php?id=<?php echo $donnees['id'] ; ?>" ><img src="images/copy.png" width="24" height="24" border="0" /></a></td></tr>
     <?php } ?>   <script src="js/addInput.js" language="Javascript" type="text/javascript"></script>

     <div id="dynamicInput"> 
      </div>

<?php 
echo "</tbody></table>"; ?></form>
le soucis qui m'oppose à présent, c'est que par le code ci dessous:

cou[javascript]nter = 0;
var limit = 25;
function addaction(divName){
if (counter == limit) {
alert("Vous avez atteint la limite de" + counter + " actions");
}
else {
var newdiv = document.createElement('div');
newdiv.innerHTML = "<tr><td><input name='data["+counter+"][id]' type='text' value='' size='5' readonly='readonly' placeholder='automatique' /></td><td><input name='data["+counter+"][code_s]' type='text' value='' size='10' readonly='readonly' placeholder='automatique' /></td><td><input name='data["+counter+"][titre]' type='text' value='' size='50' readonly='readonly' placeholder='automatique' /></td><td><input name='data["+counter+"][action]' type='text' value='' placeholder='action' /></td><td><input name='data["+counter+"][libelle]' type='text' value='' size='50' placeholder='description' /></td><td><input name='data["+counter+"][jour]' type='text' value='' size='5' placeholder='jours' /></td><td>&nbsp;</td></tr> <p><img src='images/delete.png' alt='supprimer' onClick='removeElement("+counter+");'></p>";
document.getElementById(divName).appendChild(newdiv).setAttribute('id', ""+counter+"");
counter++;
}
}[/javascript]

j'ai été amené a créer des divs car je ne sais quel autre éléments peuvent être créés, le soucis c'est que ça ne colle plus sur mon tableau, et ça ne m'arrange pas, car j'ai le style et puis je voudrais vraiment que cela soit à la suite du tableau.

Je ne sai spas comment procéder,

d'avance merci pour votre aide.

Eléphanteau du PHP | 21 Messages

18 juin 2012, 13:19

Bonjour,

Et si tu faisais comme ceci :
[javascript]document.getElementById('box-table-a').innerHTML += "<tr><td>Blabla</td></tr>";[/javascript]
Au lieu de :
[javascript]var newdiv = document.createElement('div');
newdiv.innerHTML ="<tr><td>Blabla</td></tr>";[/javascript]

Mammouth du PHP | 702 Messages

18 juin 2012, 14:21

salut, merci pour la rapidité de ta réponse,
j'ai essayé, mais bon ça ne fonctionne pas

je n'ai pourtant pas de message d'erreur.

Eléphanteau du PHP | 21 Messages

18 juin 2012, 14:59

Aurais-tu le code qui ne fonctionne pas s'il te plait ?