Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   нужна помощь (https://javascript.ru/forum/misc/28755-nuzhna-pomoshh.html)

SergoMorello 01.06.2012 15:27

нужна помощь
 
ребят помогите , я в яваскриптах нуб полный но нужно точно сделать через него.
Вообщем в чём вопрос-

имеем форму:
<form name='form_blabla' method='post' action='blabla...'>
<input type='text' name='blabla1'>
<input type='text' name='blabla2'>
<input type='submit' name='name='Submit''>
</form>

нужно сделать чтобы при нажатии определённой кнопочки добавлялось ещё пара инпутов,

сделал так:

function add_f() {
$('#poz').append('<input type="text" name="blabla11"><br><input type="text" name="blabla22">');
}

<form name='form_blabla' method='post' action='blabla...'>
<input type='text' name='blabla1'>
<input type='text' name='blabla2'>
<span id='poz'></span><a href='javascript:add_f();'>Добавить</a>
<input type='submit' name='Submit' value='s'>
</form>


таким способом новые инпуты добавляются но значение с них через форму не передаются (на Оере , на ИЕ работает) , я так понимаю неправильно написал чтото?

Dim@ 01.06.2012 15:42

<body>
<script type='text/javascript'>
function prov(){
inp = document.createElement('input');
inp.setAttribute('type','text');
inp.setAttribute('name','3');
inp2 = document.createElement('input');
inp2.setAttribute('type','text');
inp2.setAttribute('name','4');
doc = document.createDocumentFragment();
doc.appendChild(inp);
doc.appendChild(inp2);
document.getElementById('form').appendChild(doc);
}
</script>
<form id='form'>
<input type='text' name='1'>
<input type='text' name='2'>
<input type='button' onclick='prov()' value='Добавить'>
<input type='submit' value='Передать данные'>
</form>
</body>

попробуйте так :)

B@rmaley.e><e 01.06.2012 15:49

Dim@, name указать нужно.
SergoMorello, а чего Вы хотели от полей с одинаковым name?

Dim@ 01.06.2012 15:53

B@rmaley.e><e исправил (просто у меня стало привычкой искать по id, а не делать архитектуру)

SergoMorello 01.06.2012 16:04

Цитата:

Сообщение от Dim@ (Сообщение 177959)
B@rmaley.e><e исправил (просто у меня стало привычкой искать по id, а не делать архитектуру)

ваш пример работает но не так как нужно - если дописывать прямо в форму тогда работает:
...
document.getElementById('form').appendChild(doc);

<form id='form'>
...


а если например добавить после статичных инпутов тогда всё опять перестаёт работать всмысле передавать пост:
...
document.getElementById('poz').appendChild(doc);

<form id='form'>
<input type='text' name='2'>
<span id='poz'></span>
...



Цитата:

Сообщение от B@rmaley.e><e (Сообщение 177956)
Dim@, name указать нужно.
SergoMorello, а чего Вы хотели от полей с одинаковым name?

нет они не одинаковые там если вы не заметели приставлено ещё по одной цифре , а вообще это немного не то что у меня написано , у меня каждое нажатие на кнопку добавить подщитывается и это значение дописывается к name.

Dim@ 01.06.2012 16:09

SergoMorello я не спец в html, но попробуйте вместо span div

SergoMorello 01.06.2012 16:19

не помогает , ладно спасибо за помощь ,уже назрела идея как подругому сделать)

Deff 01.06.2012 18:46

SergoMorello,
Обычно необходимые input уже в форме, но скрыты style="display:none"
И разворачиваются по клику, при отправке формы - оставшиеся скрытые input можно изъять remove(), (*хотя проще сделать анализ на сервере


Часовой пояс GMT +3, время: 23:51.