lion2486 Δημοσ. 21 Δεκεμβρίου 2010 Δημοσ. 21 Δεκεμβρίου 2010 Γειά σας, έχω μια φόρμα html με ένα table, και με javascript εισάγω δυναμικά νέα κελιά, αλλά όπως παρατήρησα αυτά δεν υποβάλλονται σε $_POST O javascript κώδικας είναι σαν τον παρακάτω... στη μεταβλητή num κρατάω τα στοιχεία που τελικά υποβάλλονται, ώστε να μπορώ να τα διαχειριστώ. > function addRowToTable() { var tbl = document.getElementById('cards'); var lastRow = tbl.rows.length; var iteration = parseInt(lastRow) + 1; var row = tbl.insertRow(lastRow); var form = document.getElementById('form1'); var num = form.elements["num"].value; var cellLeft = row.insertCell(0); var textNode = document.createTextNode(iteration); cellLeft.appendChild(textNode); var cellRight = row.insertCell(1); var el = document.createElement('input'); el.type = 'text'; el.name = 'Part:rn1-' + iteration; el.size = 4; cellRight.appendChild(el); form.elements["num"].value = parseInt(num); }
macabre_sunsets Δημοσ. 21 Δεκεμβρίου 2010 Δημοσ. 21 Δεκεμβρίου 2010 Αν και δεν πολυκατάλαβα τι κάνεις, δοκίμασε να δώσεις το ίδιο όνομα στα input σου. Για παράδειγμα <input type="text" name="part[]" ... />. Στο $_POST θα πάρεις το part σαν πίνακα όπου θα υπάρχουν οι τιμές από όλα τα κελιά.
lion2486 Δημοσ. 21 Δεκεμβρίου 2010 Μέλος Δημοσ. 21 Δεκεμβρίου 2010 Μπερδεύτηκα και εγώ με αυτό... Μπορώ να κάνω κάτι τέτοιο; <input type="text" name="part[]" /> <input type="text" name="part" /> Πως δηλώνω το πρώτο; Πώς τα υπόλοιπα; Μετα με μια for($i=0;$i<NUM;$i++) $_POST['part'][$i]; θα μπορώ να τα προσπελάσω;
Uberalles_gr Δημοσ. 21 Δεκεμβρίου 2010 Δημοσ. 21 Δεκεμβρίου 2010 Μπορείς να κάνεις κάτι τέτοιο σε javascript > var divIdName = "myDiv"; var newdiv = document.createElement('div'); newdiv.setAttribute("id",divIdName); newdiv.innerHTML = "<input name='my_new_field' id='my_new_field' type='text' value='' class='myclass'>"; ni.appendChild(newdiv); Όπου ουσιστικά πάει στο div με ΙD = "myDiv" και βάζει ένα text πεδίο. Εκεί μπορεί να βάλεις ότι θέλεις.
lion2486 Δημοσ. 21 Δεκεμβρίου 2010 Μέλος Δημοσ. 21 Δεκεμβρίου 2010 Μπορείς να κάνεις κάτι τέτοιο σε javascript > var divIdName = "myDiv"; var newdiv = document.createElement('div'); newdiv.setAttribute("id",divIdName); newdiv.innerHTML = "<input name='my_new_field' id='my_new_field' type='text' value='' class='myclass'>"; ni.appendChild(newdiv); Όπου ουσιστικά πάει στο div με ΙD = "myDiv" και βάζει ένα text πεδίο. Εκεί μπορεί να βάλεις ότι θέλεις. εδω θα το κάνω append σε ένα element της φόρμας μου ή στην ιδια τη φόρμα; Γιατι του ορίζεις ενα ID και μετά περνάς άλλο; Υπάρχει λόγος;
macabre_sunsets Δημοσ. 21 Δεκεμβρίου 2010 Δημοσ. 21 Δεκεμβρίου 2010 Όλα θα έχουν ως όνομα το part[]. Δηλαδή: ><input type="text" name="part[]" ... /> <input type="text" name="part[]" ... /> . . . Έπειτα πιστεύω πως μπορείς να πάρεις τις τιμές κάνοντας: >for($i=0; $< count($_POST['part']); $i++) { ... } Δεν έχω δοκιμάσει τον κώδικα.
jms Δημοσ. 22 Δεκεμβρίου 2010 Δημοσ. 22 Δεκεμβρίου 2010 Όλα θα έχουν ως όνομα το part[]. Δηλαδή: ><input type="text" name="part[]" ... /> <input type="text" name="part[]" ... /> . . . Έπειτα πιστεύω πως μπορείς να πάρεις τις τιμές κάνοντας: >for($i=0; {:content:}lt; count($_POST['part']); $i++) { $_POST['part'][$i] ... } Δεν έχω δοκιμάσει τον κώδικα. σωστά τα λες έτσι πάει
Uberalles_gr Δημοσ. 22 Δεκεμβρίου 2010 Δημοσ. 22 Δεκεμβρίου 2010 εδω θα το κάνω append σε ένα element της φόρμας μου ή στην ιδια τη φόρμα; Γιατι του ορίζεις ενα ID και μετά περνάς άλλο; Υπάρχει λόγος; Βασικά αυτός είναι ο σωστός ο κώδικας (είχα ξεχάσει μία γραμμή) > var ni = document.getElementById('myDiv'); var divIdName = "first_div"; var newdiv = document.createElement('div'); newdiv.setAttribute("id",divIdName); newdiv.innerHTML = "<input name='my_new_field' id='my_new_field' type='text' value='' class='myclass'>"; ni.appendChild(newdiv); Ουσιαστικά έχεις ένα div στον κώδικα σου που είναι άδειο. Στο παράδειγμα μας το div αυτό έχει id = myDiv Και μέσα σε αυτό το div πας και δημιουργείς ένα άλλο element με id = first_div (μπορείς με το newdiv.setAttribute να του προσθέσεις και άλλα attribute) και μέσα σε αυτό δημιουργείς ένα input text
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.