Hallo Leute,
ich bin grade dabei ein Formular zu erstellen.
An einer Stelle ist eine Tabelle mit drei Feldern welche aber durch den User, durch drücken der + Schaltfläche weitere drei hinzufügen kann.
Falls zu viele hinzugefügt wurden können diese auch wieder durch die - Schaltfläche entfernt werden.
Das funktioniert alles einwandfrei ... hierzu der Code:
<table class=tablebody id=trftable <? if(@$_REQUEST['folderdeviations'] == 'nein'||@$_REQUEST['folderdeviations'] == '') echo "style=\"display: none\""?>>
<tr>
<td class=center_pane >
<? echo $langfolderdis;?>
</td>
</tr>
<tr>
<td valign="top">
<table align="center" id="sip_table" border="0" cellspacing="0" style="border: 1px solid #4CB052;padding: 1px; background: #D2E6D2;">
<tr>
<td class=centeru_pane>
<b><? echo $langsubfoldername ?></b>
</td>
<td class=centeru_pane> </td>
<td class=centeru_pane>
<b><? echo $langwritepermissions ?></b>
</td>
<td class=centeru_pane>
<b><? echo $langreadpermissions ?></b>
</td>
<td class=centeru_pane> </td>
</tr>
<tr>
<td>
<input type="text" class="input" name="sip_sub[1]" size="20" value=<? echo @$_REQUEST['sip_sub[]']; ?>>
</td>
<td> </td>
<td>
<input type="text" class="input" name="sip_write[1]" size="20" value=<? echo @$_REQUEST['sip_write[]']; ?>>
</td>
<td>
<input type="text" class="input" name="sip_read[1]" size="20" value=<? echo @$_REQUEST['sip_read[]']; ?>>
</td>
<td>
<img src="img/plus.png" onclick="addSource( this.parentNode.parentNode.parentNode.parentNode, this.parentNode.parentNode.rowIndex+1 )">
<img src="img/transdot.gif" width="17" height="17">
</td>
</tr>
</table>
</td>
</tr>
</table>
Alles anzeigen
und hier der vom JavaScript welcher die Felder hinzufügt:
function removeR(r){
r.parentNode.removeChild(r);
}
function addSource( table, rowIndex )
{
// Create new table row
var tbl = document.getElementById ( table.id );
var row = tbl.insertRow( rowIndex );
// Row 0 - Cell 0
cell = row.insertCell( 0 );
var sip_sub = document.createElement( 'INPUT' );
sip_sub.type = 'text';
sip_sub.className = 'input';
sip_sub.name = 'sip_sub[]';
sip_sub.size = '20';
cell.appendChild( sip_sub );
// Row 0 - Cell 1
cell = row.insertCell ( 1 );
var sip_slash = document.createTextNode(' ');
cell.appendChild( sip_slash );
// Row 0 - Cell 2
cell = row.insertCell ( 2 );
var sip_write = document.createElement( 'INPUT' );
sip_write.type = 'text';
sip_write.className = 'input';
sip_write.name = 'sip_write[]';
sip_write.size = '20';
cell.appendChild( sip_write );
// Row 0 - Cell 3
cell = row.insertCell( 3 );
var sip_read = document.createElement( 'INPUT' );
sip_read.type = 'text';
sip_read.className = 'input';
sip_read.name = 'sip_read[]';
sip_read.size = '20';
cell.appendChild( sip_read );
// Row 0 - Cell 4
cell = row.insertCell( 4 );
//Plusbutton
add_button = document.createElement( 'IMG' );
add_button.src = 'img/plus.png';
add_button.onclick = function() { addSource( this.parentNode.parentNode.parentNode.parentNode, this.parentNode.parentNode.rowIndex+1 ); }
cell.appendChild( add_button );
//Minusbutton
rem_button = document.createElement( 'IMG' );
rem_button.src = 'img/minus.png';
rem_button.onclick = function() { removeR(this.parentNode.parentNode); }
cell.appendChild( rem_button );
}
Alles anzeigen
Jetzt meine Zwei Probleme:
1. Nachdem ich aus meinen Urlaub wieder gekommen bin wird mir nicht mehr angezeit. Ich habe mit auskommentieren versucht den Fehler zu finden das war aber leider erfolglos. Gibt es da ein Programm das mir eine genaue Fehlermeldung ausgibt? oder die Syntax prüft?
2. Wenn der User auf Sender klickt soll eine Email verschickt werden, welche die Daten aus dem Formular beinhaltet. Leider ist immer der Inhalt des Arrays immer lehr egal was ich mache ... Kann mir jemand von euch zeigen wie er die Daten da raus holen würde?
Schon mal Danke im Voraus
Gruß Jonatan