Hallo,
ich bin neu hier und meine Frage lautet:
Ich habe ein CMS gecodet (noch nicht ganz fertig) und jetzt wollte ich um einen Beitrag zu erstellen, eine FORM haben deren inputfelder zu clonen gehen.
Wenn ich das ganze abschicke sollen die Felder Values in die datenbank gespeichert werden.
Auf der bearbeitungs .php sollten dann die gespeicherten Values in deren Felder wieder angezeigt werden.
Bis jetzt habe ich nur die add function hinbekommen
, bei der function wenn z.B. 4 Felder gespeichert wurden, dass das feld 4 mal geclont wird und deren Value eingesetzt wird bin ich gescheitert :/
danke jetzt schon
hier die addfunction:
HTML:
PHP:
JS:
reCopy.js
ich bin neu hier und meine Frage lautet:
Ich habe ein CMS gecodet (noch nicht ganz fertig) und jetzt wollte ich um einen Beitrag zu erstellen, eine FORM haben deren inputfelder zu clonen gehen.
Wenn ich das ganze abschicke sollen die Felder Values in die datenbank gespeichert werden.
Auf der bearbeitungs .php sollten dann die gespeicherten Values in deren Felder wieder angezeigt werden.
Bis jetzt habe ich nur die add function hinbekommen
danke jetzt schon
hier die addfunction:
HTML:
HTML:
<form>
<p class="clone">
<label for="beschreibung">Select1:</label>
<select name="Select1[]">
<option value="1">AAA</option>
<option value="2">BBB</option>
<option value="3">CCC</option>
</select><br />
<label for="beschreibung">Select2:</label>
<select name="Select2[]">
<option value="1">AAA</option>
<option value="2">BBB</option>
<option value="3">CCC</option>
<option value="4">DDD</option>
<option value="5">EEE</option>
<option SELECTED value="6">FFF</option>
<option value="7">GGG</option>
<option value="8">HHH</option>
</select><br />
<label for="beschreibung">Select3:</label>
<select name="Select3[]">
<option value="3">AAA</option>
<option value="2">BBB</option>
<option value="1">CCC</option>
</select><br />
<label for="beschreibung">Textarea:</label><textarea type="text" rows="5" cols="48" name="text[]" /></textarea><br /><br />
</p>
<p><a href="#" class="add" rel=".clone">Clonen</a></p>
<input type="submit" value="Senden" />
</form>
PHP:
if($_POST['text'])
{
$array=$_POST['Select1'];
$counter = '1';
foreach($array as $Select1)
{
$Select1[$counter] = $Select1;
$counter++;
}
$array=$_POST['Select2'];
$counter = '1';
foreach($array as $Select2)
{
$Select2[$counter] = $Select2;
$counter++;
}
$array=$_POST['Select3'];
$counter = '1';
foreach($array as $Select3)
{
$Select3[$counter] = $Select3;
$counter++;
}
$array=$_POST['text'];
$counter = '1';
foreach($array as $text)
{
mysql_query("INSERT INTO `Tabelle`(`Select1`, `Select2`, `Select3`, `text`) VALUES ('$Select1[$counter]', '$Select2[$counter]', '$Select3[$counter]', '$text[$counter]')");
$counter++;
}
}
Code:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="js/reCopy.js"></script>
<script type="text/javascript">
$(function(){
var removeLink = ' <a class="remove" href="#" onclick="$(this).parent().slideUp(function(){ $(this).remove() }); return false">Löschen</a>';
$('a.add').relCopy({ append: removeLink});
});
</script>
Code:
(function($) {
$.fn.relCopy = function(options) {
var settings = jQuery.extend({
excludeSelector: ".exclude",
emptySelector: ".empty",
copyClass: "copy",
append: '',
clearInputs: true,
limit: 4
}, options);
settings.limit = parseInt(settings.limit);
this.each(function () {
$(this).click(function (){
var rel = $(this).attr('rel');
var counter = $(rel).length;
if (settings.limit != 0 && counter >= settings.limit){
return false;
};
var master = $(rel+":first");
var parent = $(master).parent();
var clone = $(master).clone(true).addClass(settings.copyClass+counter).append(settings.append);
if (settings.excludeSelector){
$(clone).find(settings.excludeSelector).remove();
};
if (settings.emptySelector){
$(clone).find(settings.emptySelector).empty();
};
if ( $(clone).attr('id') ){
var newid = $(clone).attr('id') + (counter +1);
$(clone).attr('id', newid);
};
$(clone).find('[id]').each(function(){
var newid = $(this).attr('id') + (counter +1);
$(this).attr('id', newid);
});
if (settings.clearInputs){
$(clone).find(':input').each(function(){
var type = $(this).attr('type');
switch(type)
{
case "button":
break;
case "reset":
break;
case "submit":
break;
case "checkbox":
$(this).attr('checked', '');
break;
default:
$(this).val("");
}
});
};
$(parent).find(rel+':last').after(clone);
return false;
});
});
return this;
};
})(jQuery);
Zuletzt bearbeitet: