Помогите с функцией jquery appendTo () на форме - PullRequest
0 голосов
/ 24 марта 2011

Я новичок, так что имейте это в виду.

так, что я сейчас работаю, моя форма успешно добавляет еще один вход в форму, однако он появляется вне формы div.По сути, я хочу, чтобы он отображался внутри элемента div и над кнопкой отправки.

Как мне это сделать?

Вот главное приложение в моем JavaScript:

var i = $('input').size() + 1; 
$('a#add').click(function() { 
    $('<input type="text" value="user' + i + '" />').appendTo('form'); 
    i++; 
});

здесь html формы по запросу.

<div id="stylized" class="myform">
<form name="addstudents" method="post" action="add_students.php">
<div id="formHeader">
    <h1>Add student(s)</h1>
    <p>Please enter student's HEMIS number</p>
</div>
<label>Student: <span class="small">Enter HEMIS number</span> </label>
<input type='text' name="user_1">
<input type="submit" class="Mybutton" id="mybutton" name="submit" value='Submit Student(s)'>
<div class="spacer"></div>
</form>
<a href="#" id="add">Add</a><a href="#" id="remove">Remove</a></div>

Любая помощь будет принята с благодарностью.

спасибо

НОВАЯ ПРОБЛЕМА: УДАЛЕНИЕ!

здесьмой текущий удалить JS, он просто сначала удаляет кнопку отправки: (

$('a#remove').click(function() { 
if(i > 3) { 
    $('input:last').remove(); 
    i--; 
}
});
$('a.reset').click(function() {
while(i > 2) { 
    $('input:last').remove(); 
    i--;
}
});

Еще раз спасибо

Ответы [ 3 ]

1 голос
/ 24 марта 2011

Вы можете использовать этот фрагмент для вставки ввода перед кнопкой:

$('form #idofsubmitbutton').before($('<input type="text" value="user' + i + '" />'))

EDIT:

Я поигрался с jsfiddle.com после вашего последнего редактирования и получил следующее:

var i = $('input').size() + 1;
$('a#add').click(function() {
    $('div#stylized form input:submit').before($('<input type="text" value="user' + i + '" />'))
    i++;
});

На примере html вы опубликовали эту работу. Когда я нажимаю ссылку «Добавить», перед кнопкой «Отправить» появляются новые входы.

Если у вас все еще есть проблемы, у вас могут быть элементы с одинаковыми идентификаторами.

1 голос
/ 24 марта 2011
var i = $('input').size() + 1; 
$('a#add').click(function() { 
    $('<input type="text" value="user' + i + '" />').appendTo('div#divId'); 
    i++; 
});
0 голосов
/ 24 марта 2011

Это не «форма PHP», когда она на клиенте, это просто HTML / CSS / Javascript. PHP на сервере.

.appendTo('form'); добавляется к форме TAG, а не к "div формы". Если у вас есть DIV с именем «форма», вам нужно использовать .appendTo('#form');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...