Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » ASP, Perl, PHP и MySQL

Как добавить строку не перезагружая страницу?

Обсуждение темы Как добавить строку не перезагружая страницу? в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Как можно добавить на страничку строку с текстом после определеного элемента или текста не перезагружая сам устраницу? Тут же другой вопрос: как убрать ...


Закрытая тема
 
Опции темы
Старый 26.02.2006, 14:39   #1
Как можно добавить на страничку строку с текстом после определеного элемента или текста не перезагружая сам устраницу?

Тут же другой вопрос: как убрать строку между не перезагружая страницу?

Просто нужно сделать такую вещь:

[текстовое_поле_id=xxx][ - ][ + ]

При клике на плюсе после последней строчки добавялется еще одна строчка [текстовое_поле_id=xxx+1][ - ][ + ], а при клике на минус строчка с текущим id удаляется.

Готовый скрипт не нашел =( Как самому сделать - практически придумал, но сказывается нехватка знаний в Яве.
 
Старый 26.02.2006, 14:39
Ссылки
Старый 26.02.2006, 15:27   #2
<script>
function fun(){
document.getElementById('myScript').src="myPHPFile .php"
}
</script>
<script id="myScript"></script>
<b onclick="fun()" id="myB">click[/b]


------------------------myPHPFile.php-----------------
<?
echo "document.getElementById('myB').innerHTML='скр ипт myPHPFile.php выполнен';";
?>
 
Старый 26.02.2006, 18:32   #3
http://citforum.ru/internet/javascript/dynamic_form/
 
Старый 26.02.2006, 23:54   #4
спасибр, kost, скрипт тот, что надо, только вот, гад, работает коряво =( буду переделывать.

sl_play, твой вариант у меня чего-то не прошел. Создал html со скриптами и php, но при клике ничего не происходит =(
 
Старый 27.02.2006, 00:54   #5
Держите и пользуйтесь:
PHP код:
<script language=JavaScript>
var 
numb;
numb 1;
function 
add_new_row() {
    var 
currrow;
    
currow document.all.tbl.rows.length// вычислить количество строк в таблице
    
numb++;
    
document.all.tbl.insertRow(currow); // добавляем строку в таблицу
    
document.all.tbl.rows[currow].insertCell(0); // добавляем ячейки
    
document.all.tbl.rows[currow].insertCell(1);
    
document.all.tbl.rows[currow].insertCell(2);
    
document.all.tbl.rows[currow].insertCell(2);
    
document.all.tbl.rows[currow].cells[0].innerHTML '<input type=\"text\" name=\"name_'numb +'\">'// вставляем в форму поля
    
document.all.tbl.rows[currow].cells[1].innerHTML '<input type=\"text\" name=\"url_'numb+'\">';
    
document.all.tbl.rows[currow].cells[2].innerHTML '<input type=\"text\" name=\"category_'numb+'\">';
    
document.all.tbl.rows[currow].cells[3].innerHTML '<input type=button name=\"btnNext\" value=\"+\" onClick=\"add_new_row()\">'// кнопка для вызова функции для добавления следующей строки
}
</script>
<form name=links method=post>
<table id=tbl cellspacing=0 cellpadding=0 border=1>
<tbody>
<tr bgcolor=#ff9933>
<td>Наименование</td>
<td>Адрес</td>
<td colspan=2>Категория</td>
</tr>
<tr>
<td>
<input name=name_1 width="60">
</td>
<td>
<input name=URL_1 width="60">
</td>
<td>
<input name=category_1 width="30">
</td>
<td>
<input onClick=add_new_row() type=button value=+ name=btnNext>
</td>
</tr>
</tbody>
</table>
<input type=submit value=Submit name="submit">
<input type=reset value=Сброс name="reset">
</form> 
 
Старый 27.02.2006, 01:51   #6
То, что мне нужно, один к одному, лежит на http://developer.mozilla.org/en/docs...DOM_Interfaces

рассмотрю и твой пример, MasMaX. Пока что он самый ясный. Вставлю-ка я туда кнопку "-"

Lander добавил [date]1140998623[/date]:
Я немного изменил скриптMasMaX добавив кнопку на удаление строчки:
PHP код:
<script language=JavaScript>
var 
numb;
numb 1;
function 
add_new_row() {
    var 
currrow;
    
currow document.all.tbl.rows.length// вычислить количество строк в таблице
    
numb++;
    
document.all.tbl.insertRow(currow); // добавляем строку в таблицу
    
document.all.tbl.rows[currow].insertCell(0); // добавляем ячейки
    
document.all.tbl.rows[currow].insertCell(1);
    
document.all.tbl.rows[currow].insertCell(2);
    
document.all.tbl.rows[currow].insertCell(3);
    
document.all.tbl.rows[currow].insertCell(4);
    
document.all.tbl.rows[currow].cells[0].innerHTML '<input type=\"text\" name=\"name_'numb +'\">'// вставляем в форму поля
    
document.all.tbl.rows[currow].cells[1].innerHTML '<input type=\"text\" name=\"url_'numb+'\">';
    
document.all.tbl.rows[currow].cells[2].innerHTML '<input type=\"text\" name=\"category_'numb+'\">';
    
document.all.tbl.rows[currow].cells[3].innerHTML '<input type=button name=\"btnNext\" value=\" + \" onClick=\"add_new_row()\">'// кнопка для вызова функции для добавления следующей строки


// вставка
    
document.all.tbl.rows[currow].cells[4].innerHTML '<input type=button name=\"btnPrev\" value=\" - \" 


onClick=\"remove_current_row(currow)\">'
// кнопка для вызова функции для удаления текущей строки
}
function 
remove_current_row(index) {
    if (
document.all.tbl.rows.length!=2){
        
document.all.tbl.deleteRow(index)
    }
}
</script>
<form name=links method=get action=goga.php>
<table id=tbl cellspacing=0 cellpadding=0 border=1>
<tbody>
<tr bgcolor=#ff9933>
<td>Наименование</td>
<td>Адрес</td>
<td colspan=3>Категория</td>
</tr>
<tr>
<td>
<input name=name_1 width="60">
</td>
<td>
<input name=URL_1 width="60">
</td>
<td>
<input name=category_1 width="30">
</td>
<td>
<input onClick=add_new_row() type=button value=" + " name=btnNext>
</td>
<td> 

// вставка
<input onClick=remove_current_row(1) type=button value=" - " name=btnPrev>

</td>
</tr>
</tbody>
</table>
<input type=submit value=Submit name="submit">
<input type=reset value=Сброс name="reset">
</form> 
Только вот работает кнопка "-" нормально только в первой строчке, а в остальных удаляет 1 последнюю строчку и прекращает работать.

Ведь нормально создаются переменные name_2, name_3... c numb, а вот строчка строчки remove_current_row(2), remove_current_row(3) не создаются или не работают =(

Как передать в функцию удаления параметр currow так, чтобы при нажатии на "-" удалялся только строчка с этим минусом?
 
Старый 27.02.2006, 10:23   #7
Lander, этот вариант стопроцентно работаеющий, большенство чатов сейчас пользуются им.
Какой у тебя броузер?
Попробй этот вариант вставить в страницу с тегами боди и штмл.
 
Старый 27.02.2006, 10:27   #8
на работающий исходник

sl_play добавил [date]1141026126[/date]:
я надеюсь не нужно объяснять что этот пример будет работать только если у тебя установлен сервер и пхп?
Файл 1.htm нужно запустить не двойным щелчком, а через локалхост
 
Старый 27.02.2006, 10:44   #9
нет, sl_play, как неработал, так и не работает. Даже Эксплорер выдает сообщение об ошибке на второй строке и первом символе файла 1.html (это в тэге <html> =) )

Сам-то я сижу на Опере.
Она выдает следующее:

file://localhost/C:/Documents%20and%20Settings/Lander.HOME-PC/Рабочий%20стол/L2db/add-rem/tmp/myPHPFile.php
Event thread: BeforeExternalScript
Syntax error while loading: line 1 of linked script at file://localhost/C:/Documents%20and%20Settings/Lander.HOME-PC/Рабочий%20стол/L2db/add-rem/tmp/myPHPFile.php :
<?
--^
 
Старый 27.02.2006, 10:51   #10
слушай, а у тебя сервер установлен с пхп?
у тебя должен быть Apache +php
пример работает со всем этим + ИЕ6
перед тем как отсылать всё проверил у себя.
 
Старый 27.02.2006, 10:51
Закрытая тема




Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
var_dump в строку BleSSeD ASP, Perl, PHP и MySQL 11 13.05.2009 14:18
Как на сайт (страницу) добавить квадратную картинку перед "http"? Fred_Bulsara HTML, CSS, JavaScript 14 08.07.2007 22:04
Как удалить n-ную строку в файле? tend ASP, Perl, PHP и MySQL 9 21.07.2006 00:02
Две таблицы в одну строку Silent Rain HTML, CSS, JavaScript 10 30.12.2005 09:15
Разобрать строку kost HTML, CSS, JavaScript 10 25.05.2005 03:31


Текущее время: 13:34. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум