als iets in textbox is ingevuld addRow

Pagina: 1
Acties:
  • 498 views

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo allemaal,

Ik probeer een formulier te maken in html of php.
De bedoeling ervan is dat ik een tabel heb met een aantal kolommen met maar 1 regel.
Ik wil als alle velden zijn ingevuld in deze tabel er een nieuwe regel bij springt.
Natuurlijk heb ik al op internet gezocht voor dit te doen zoals jquery en javascript.
Hellaas kon ik niks vinden wat hierop leek.
ik heb wel dit gevonden:

code: filename
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript">
var clone;
function addRow(){
var root=document.getElementById('tab').getElementsByTagName('tr')[0].parentNode;
var rows=root.getElementsByTagName('tr');
var els=clone.getElementsByTagName('*');
var i=0, e
while(e=els[i++]){
(e.nodeName=='SELECT'||e.nodeName=='INPUT')?e.name=e.name.replace(/\d$/,rows.length+1):null;
}
root.appendChild(clone)
clone=rows[rows.length-1].cloneNode(true)
}
onload=function(){
clone = document.getElementById('tab').getElementsByTagName('tr')[0].cloneNode(true)
}
</script>

</head>
<body>
<form action="">
<table id="tab">
<tr>
<td>
<select name="expenseID1">
</select>
</td>
<td>
<input type="text" name="expenseQty1" />
</td>
<td>
<input type="text" name="expenseValue1" onkeyup="text(this.value)>0?addRow():null"/>
</td>
</tr> 
</table>
</form>
</body>
</html>


Als ik hier in het laatste veld een cijfer invul dan verschijnt er een nieuwe regel.
Ik wil dus dat dit gebeurd als er ook maar iets in een veld word ingetyped.

Uiteindelijk moeten dus alle regels verzonden worden naar een database met een submit knop.

Hopelijk kan iemand mij helpen.
Want ik kom er niet uit.

Met vriendelijke groet,

Xorium

Acties:
  • 0 Henk 'm!

  • Ook al Bezet
  • Registratie: Juli 2004
  • Laatst online: 06-09 19:51
Bedoel je zoiets?

Acties:
  • 0 Henk 'm!

  • bartbh
  • Registratie: Maart 2004
  • Niet online
Als ik je goed begrijp, wil je dus een invulformulier met in eerste instantie 1 regel voor een nieuw record. Zodra dat record ingevuld is, moet er automatisch een nieuwe bijkomen zodat je er nog meer in kunt vullen.

Zodra dat allemaal is ingevuld, moet je het formulier versturen en moet het uiteindelijk in een database verwerkt worden.

Begrijp ik je zo goed? Daar zijn legio voorbeelden van te vinden, in combinatie met jQuery bijvoorbeeld: http://www.examplet.buss.hk/jquery/table.addrow.php (#9)

Heb je wel verstand/ervaring aan de kant van php/MySQL om het verstuurde formulier te verwerken in de database, of dat ook niet?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
dit is precies wat ik zoek bartbh zoals bij Example #9 dit heb ik nu verwerkt.
Ik weet nu niet precies hoe ik dit kan laten inserten in een DB elke regel op een nieuwe regel in de DB.
Kan je mij misschien daar mee helpen?

Alvast bedankt

Acties:
  • 0 Henk 'm!

  • HyperioN
  • Registratie: April 2003
  • Laatst online: 24-05 15:42
Verwijderd schreef op vrijdag 15 juni 2012 @ 11:59:
dit is precies wat ik zoek bartbh zoals bij Example #9 dit heb ik nu verwerkt.
Ik weet nu niet precies hoe ik dit kan laten inserten in een DB elke regel op een nieuwe regel in de DB.
Kan je mij misschien daar mee helpen?

Alvast bedankt
Hmm, dat is wel heel basic hoor.
Je kan [] toevoegen aan de naam van het input-veld, dan worden ze verstuurd als array. Vervolgens kun je die met een foreach in PHP verwerken.

Simple voorbeeld:
HTML:
1
2
3
4
<input type="text" name="koetje[]" />
<input type="text" name="koetje[]" />
<input type="text" name="koetje[]" />
<input type="text" name="koetje[]" />


PHP:
1
2
3
4
foreach($_POST['koetje'] as $value) {
    $sql = "INSERT INTO table SET field='".mysql_real_escape_string($value)."'";
    mysql_query($sql);
}


Er wordt in dit voorbeeld niks gechecked (of het veld ingevuld is en valid input is, etc), dat mag je zelf doen ;)

[ Voor 6% gewijzigd door HyperioN op 15-06-2012 12:14 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dus hoe kan ik dat het beste doen als ik dit nu heb:
PHP: filename
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<table border="0" class="autoTable">

<tr><td>Uw Naam</td>
<td>Uw achternaam</td><td> </td></tr>

<tr><td><input type="text" name="name" size="25"/></td>

<td><input type="text" name="sname" size="25"/></td><td><input type="button" value="Verwijder regel" class="delRow"/></td></tr>
</table>
<table>
<tr><input type="submit" name="submit" id="submit" value="send"></tr>
</table>

<script type="text/javascript" src="jqeury.js"></script>

<script type="text/javascript" src="jquery.table.addrow.js"></script>

<script type="text/javascript">

$("document").ready(function(){

$(".autoTable").tableAutoAddRow({autoAddRow:true});

$(".delRow").btnDelRow();

});
</script>

Acties:
  • 0 Henk 'm!

  • bartbh
  • Registratie: Maart 2004
  • Niet online
Als eerste zul je een formulier moet hebben (<form>) en dan verwijzen naar een bestand wat je formulier kan verwerken. (Kan eventueel ook hetzelfde bestand zijn)

Dan kun je daar de aangeleverde gegevens verwerken, via het principe zoals aangegeven door HyperioN. En dan eventueel ook nog weer uitlezen op een andere pagina, want ik neem aan dat je ze ook nog graag wil terug wil halen.

Maar heb je überhaupt al een database aangemaakt etc.?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb een database gemaakt met ID,naam,2naam als kopjes gewoon voor even te testen had ik deze dan aangemaakt.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<form>
<table border="0" class="autoTable">

<tr><td>Uw Naam</td>
<td>Uw achternaam</td><td> </td></tr>

<tr><td><input type="text" name="name" size="25"/></td>

<td><input type="text" name="sname" size="25"/></td><td><input type="button" value="Verwijder regel" class="delRow"/></td></tr>
</table>
<table>
<tr><input type="submit" name="submit" id="submit" value="send"></tr>
</table>
</form>

<script type="text/javascript" src="jqeury.js"></script>

<script type="text/javascript" src="jquery.table.addrow.js"></script>

<script type="text/javascript">

$("document").ready(function(){

$(".autoTable").tableAutoAddRow({autoAddRow:true});

$(".delRow").btnDelRow();

});
</script>


Heb nu het form erbij gezet hoop dat dit goed is zo. wat moet ik doen om de gegevens die ingevuld zijn in de database te laten zetten?
Natuurlijk de connectie maken wat moet ik doen om dan de submit knop te laten werken?

Alvast bedankt,

Xorium

Acties:
  • 0 Henk 'm!

  • HyperioN
  • Registratie: April 2003
  • Laatst online: 24-05 15:42
Verwijderd schreef op vrijdag 15 juni 2012 @ 13:50:
ik heb een database gemaakt met ID,naam,2naam als kopjes gewoon voor even te testen had ik deze dan aangemaakt.

Heb nu het form erbij gezet hoop dat dit goed is zo. wat moet ik doen om de gegevens die ingevuld zijn in de database te laten zetten?
Natuurlijk de connectie maken wat moet ik doen om dan de submit knop te laten werken?
Ga maar eens PHP en MySQL tutorials lezen als je dat niet weet. Dit is echt de absolute basis, en als je die niet kent kun je beter dit zelf leren door dit zelf te gaan proberen. Wij kunnen wel alles voor je voorkauwen zodat je de code kan copypasten, maar dan leer je er geen klap van.
Er zijn legio tutorials die je stap voor stap hierin helpen:
http://www.html-site.nl/forum/24_15421_0.html
[google=php mysql tutorial]

Als je er dan niet uitkomt, en je kan precies aangeven wat er niet lukt, waarom het niet lukt en/of wat je niet begrijpt, dan willen wij je heel graag helpen hoor :)
Maar eerst even zelf proberen en uitzoeken ;)

[ Voor 8% gewijzigd door HyperioN op 15-06-2012 14:09 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op vrijdag 15 juni 2012 @ 11:59:
Kan je mij misschien daar mee helpen?
Verwijderd schreef op vrijdag 15 juni 2012 @ 13:14:
Dus hoe kan ik dat het beste doen als ik dit nu heb:
Verwijderd schreef op vrijdag 15 juni 2012 @ 13:50:
wat moet ik doen om dan de submit knop te laten werken?
Kan iemand even...? -> Neen. Dat mag je zelf doen ;)

Lees voor een volgende keer ook even Waar hoort mijn topic? en hanteer bij 't openen van een topic onze Quickstart ;)

Misschien is 't ook handig als je je eens iets aantrekt van wat we je vertellen:
RobIII in "form in een div"
RobIII in "groot dropdown menu jquery"

[ Voor 55% gewijzigd door RobIII op 15-06-2012 14:21 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1

Dit topic is gesloten.