我有一個腳本,動態地添加行的形式使用默認值來工作:調整動態表單具有多個部分
$(document).ready(function() {
var defaults = {
'name[]': 'Name',
'email[]': 'Email',
'organisation[]': 'Organisation',
'position[]': 'Position'
};
var setDefaults = function(inputElements, removeDefault)
{
$(inputElements).each(function() {
if (removeDefault)
{
if ($(this).data('isDefault'))
{
$(this).val('')
.removeData('isDefault')
.removeClass('default_value');
}
}
else
{
var d = defaults[this.name];
if (d && d.length)
{
this.value = d;
$(this).data('isDefault', true)
.addClass('default_value');
}
}
});
};
setDefaults(jQuery('form[name=booking] input'));
$(".add").click(function() {
var x = $("form > p:first-child").clone(true).insertBefore("form > p:last-child");
setDefaults(x.find('input'));
return false;
});
$(".remove").click(function() {
$(this).parent().remove();
});
// Toggles
$('form[name=booking]').delegate('input', {
'focus': function() {
setDefaults(this, true);
},
'blur': function() {
if (!this.value.length) setDefaults(this);
}
});
});
爲以下形式:
<form method="post" name="booking" action="bookingengine.php">
<p><input type="text" name="name[]">
<input type="text" name="email[]">
<input type="text" name="organisation[]">
<input type="text" name="position[]">
<span class="remove">Remove</span></p>
<p><span class="add">Add person</span><br /><br /><input type="submit" name="submit" id="submit" value="Submit" class="submit-button" /></p>
</form>
我現在想將表單拆分爲2個部分,每個部分可以有動態添加的行。第二部分將只對姓名和電子郵件的空間,所以形式作爲一個整體,在添加任何額外的行之前,會是這個樣子:
但我不知道如何實現這個。要麼我會用單獨的腳本創建一個單獨的表單,然後需要知道如何將這兩個表單中的信息一起提交,或者我只需要一個表單,但是需要制定如何動態地將行添加到每個部分。
有人可以幫忙嗎?
感謝,
尼克
感謝您的指導和幫助。正是我在找的東西。 Nick – Nick 2011-06-14 16:14:12
太棒了 - 很高興它很有用! – nrabinowitz 2011-06-14 17:23:08