Form új sor beszúrása!
Sziasztok.
Az lenne a problémám, hogy egy ártábla formot csináltam, sikerült gomb nyomársa új sort beszúrnom, de nem tudom hogy kellene neki megadni a name="" értéket Javascripptel, hogy el tudjam menteni php-val adatbázisba.
Kód:A print_r($_POST) :
A name értéket így akartam: name0, name1, name2 ...
A price értéket meg ugyanagy: price0, price1, price2 ....
■ Az lenne a problémám, hogy egy ártábla formot csináltam, sikerült gomb nyomársa új sort beszúrnom, de nem tudom hogy kellene neki megadni a name="" értéket Javascripptel, hogy el tudjam menteni php-val adatbázisba.
Kód:
<html>
<head>
<?php
if(isset($_POST)){
echo '<p style="font-size:16px; color:#000;">'; print_r($_POST); echo "</p>";
}
?>
<script type="text/javascript">
function insertRow(tableID,form_id) {
var tabla = document.getElementById(tableID);
var utolsosor = document.getElementById(tableID).lastChild;
var szam = 0;
var inputs = document.getElementsByTagName("input");
for (var i=0; i < inputs.length; i++)
{
if (inputs[i].getAttribute('type') == 'text')
{
szam = szam+1;
}
}
var tr = document.createElement('tr');
var td1 = document.createElement('td');
var td2 = document.createElement('td');
var text1 = document.createTextNode('');
var text2 = document.createTextNode('');
var id_szam = utolsosor; var szam = utolsosor + 1;
td1.appendChild(text1);
td2.appendChild(text2);
szam = szam+1;
td1.innerHTML = '<input type="text" value="name" name ="name' + szam + '" />';
szam = szam+1;
td2.innerHTML = '<input type="text" value="price" name ="price' + szam + '" />';
tr.appendChild(td1);
tr.appendChild(td2);
tabla.insertBefore(tr,utolsosor);
}
</script>
</head>
<body>
<input type="button" onclick="insertRow('tableToModify','form_id')" value="Create Row" />
<form action="" method="post" id="form_id">
<table id="tableToModify">
<tbody >
<tr id="rowToClone">
<td><input type="text" id="1" value="text" name ="name0"/></td>
<td><input type="text" id="1" value="price" name ="price0"/></td>
</tr>
</tbody>
</table>
<input type="submit" value="Mentes" />
</form>
</body></html>
Array ( [name0] => text [price0] => price [name] => Array ( [object Text] => name ) [price] => Array ( [object Text] => price ) )
A name értéket így akartam: name0, name1, name2 ...
A price értéket meg ugyanagy: price0, price1, price2 ....
Tördeld újra
ID attribútum nem kezdődhet számmal
Ha könnyedén szeretnéd a POST változókat feldolgozni, adhatsz nekik tömbszerű neveket (name attribútumokat), így tudsz rájuk szerveroldalon is ekként hivatkozni (vagy épp iterálni egy ciklusban). Például
name="elem[0]['name']"
ésname="elem[0]['price']"
. Hátha hasznos.index nélkül []
id és egyéb dolgokra tényleg oda kellene figyelni..
Tökéletes, köszi.
A legegyszerűbb meg nem jutott az eszembe.
Még egyszer köszi mindenkinek.