Вообщем сейчас попытаюсь более кратко все объяснить.
Есть скрипт, который генерирует форму, на основе введенных пользователем даннных
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