[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Асинхронная передача значений формы на сервер
AntonNABSAL
Помогите пожалуйста кто может...Как не пробую, никак не могу реализовать задачу.
Вообщем сейчас попытаюсь более кратко все объяснить.

Есть скрипт, который генерирует форму, на основе введенных пользователем даннных

for ($i = 0; $i<$number_layers; $i++){
?>
<Form id="form_<?php echo $i;?>" action="">
<
table>
<
tr><td>Слой номер <?php echo $i?></td></tr>
<
tr><td>
<
input type="button" value="+" onclick="add_input(<?php echo $i?>)">
<
input type="button" value="-" onclick="del_input(<?php echo $i?>)">
<
input type="button" id="button" value="ок" onClick="add_database_layer(<?php echo $i;?>)">
</
td></tr>
</
table>
</
form>

<?php
}


$number_layers вводит пользователь.
в форме как видно есть кнопки для удаления и добавления inputs
скрипт таков

function add_input(number)
{
c++;
alert(c);

var new_input=document.createElement('div');

new_input.innerHTML='<br>Параметр №'+document.getElementById('form_'+number).getElementsByTagName('div')
.
length+'<br><input name="param_'+number+'_'+c+'">';


document.getElementById('form_'+number).appendChild(new_input);
}
function del_input(number)
{

document.getElementById('form_'+number).removeChild(document.getElementById
('form_'+number).getElementsByTagName('div')[document.getElementById('form_'+number).
getElementsByTagName('div').length-1]);
}


а теперь проблема.В каждой форме есть кнопка OK при нажатии на которую данные должны переходить на add.php и там запись в базу. Проблема: узнать какая кнопка нажата, данные с какой формы отослать и все асинхронно.

максимум до чего додумался:
function add_database_layer(number_layer){
var string = 'add.php?layer='+number_layer;
$.post(string);
$('#form'+number_layer).hide();

}

Но это вообще не работает... данная функция переменные в форме как я понял вообще не передает...
Хотел еще через функцию

<script type="text/javascript">
$(document).ready(function(){
$("#myForm").ajaxForm(function() {
alert("Спасибо за комментарий!");
});
});
</
script>

Но она работает с определнной формой, а у меня они php генерятся.
Вообщем помогите кто может.



Спустя 10 минут, 36 секунд (7.11.2010 - 14:50) Sanchopansa написал(а):
Цитата
Но она работает с определнной формой, а у меня они php генерятся.

а что тебе мешает также генерировать Яваскрипт?
типа так



for ($i = 0; $i<$number_layers; $i++){
?>
<script type="text/javascript">
$(document).ready(function(){
$("#form_<?php echo $i;?>").ajaxForm(function() {
alert("Спасибо за комментарий!");
});
});
</
script>
<
Form id="form_<?php echo $i;?>" action="">
<
table>
<
tr><td>Слой номер <?php echo $i?></td></tr>
<
tr><td>
<
input type="button" value="+" onclick="add_input(<?php echo $i?>)">
<
input type="button" value="-" onclick="del_input(<?php echo $i?>)">
<
input type="button" id="button" value="ок" onClick="add_database_layer(<?php echo $i;?>)">
</
td></tr>
</
table>
</
form>

<?php
}

Спустя 1 минута, 16 секунд (7.11.2010 - 14:51) AntonNABSAL написал(а):
Оп, не подумал об этом)) сейчас попробую

Спустя 9 минут, 5 секунд (7.11.2010 - 15:00) AntonNABSAL написал(а):
работает, но страницу перегружает.
в чем проблема, не ту функцию юзаю?

Спустя 5 минут, 42 секунды (7.11.2010 - 15:06) Sanchopansa написал(а):
ну я тебе подсказал как сделать для каждой формы яваскрипт а ты уж теперь с яваскриптом капайся.. судя по тексту яваскрипта ты юзаешь какуюто явовскую библиотеку.. вот там и почитай про реализация Ajax
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.