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')
- {
- szamszam = 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);
- szamszam = szam+1;
- td1.innerHTML = '<input type="text" value="name" name ="name' + szam + '" />';
- szamszam = 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.