Как разрешить пользователям добавлять дополнительный контент на страницу в Rails / Javascript - PullRequest
0 голосов
/ 19 марта 2012

По сути, я пишу приложение, в котором пользователи могут перечислять своих прошлых работодателей и соответствующие должности, и хотели бы иметь кнопку, которую они могут нажать, чтобы добавить другую запись. У меня настроен сервер, но я бы хотел, чтобы они начали с одной записи, такой как:

Работодатель1: (информация здесь)

(добавить кнопку другого работодателя)

и после нажатия этой кнопки страница теперь выглядит следующим образом:

Работодатель1: (информация ...)

Работодатель2: (формы для отправки информации, после отправки эта запись выглядит так же, как и выше)

(добавить еще одну кнопку работодателя)

и так далее. Я знаю, что должен быть плагин javascript, который может это делать, но я не знаю, как это называется, и, следовательно, не смог его найти. Есть идеи?

1 Ответ

0 голосов
/ 19 марта 2012

Я бы написал это сам.

<script type="text/javascript">
var form=document.getElementById('myform');
var employers=document.getElementById('employers');

function addEmployer(currID) {
    var employer = currID;
    var nextEmployer = employer+1;
    var employerclone=document.getElementById('employer[employer]').cloneNode(true);
    employerclone.setAttribute('id', 'employer[(nextEmployer)]');
    employers.appendChild(employerclone);
}
</script>

, а затем форму:

<form id="myform">
<div id="employers">
    <div id="employer[0]">
        Employer Name:<input type="text" id="employerName[0]">
        Employer Details:<input type="textarea" id="employerDeets[0]">
        <input type="button" value="Add Employer" onclick="addEmployer(this.id)" id="0">
    </div>
</div>
<input type="submit" value="submit">
</form>

Это ни в коем случае не проверено и просто каракули, а просто способ, которым я быпойти на это.Вам также необходимо установить идентификаторы входных данных, чтобы не было путаницы с обработкой после отправки формы.

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