|
|
|
|
|
для: ЯСА
(18.04.2012 в 09:30)
| | Сервер ответит, и будет помещен ответ его в seetag. У него отменяется submit формы. | |
|
|
|
|
|
|
|
для: grafen
(18.04.2012 в 09:16)
| | Вы не мой код попробовали.
Вы попробовали свой код.
А я просил вас конкретно скопировать выложенный мною код и, КАК ОН ЕСТЬ, БЕЗ ЕДИНОГО ИЗМЕНЕНИЯ, запустить в браузере.
Для того, чтобы вы убедились, что сабмит ПРОИСХОДИТ ПО-ЛЮБОМУ, если его не отменить.
А сабмит приводит к тому, что в окне появляется НОВЫЙ документ, никакого отношения к предыдущему НЕ ИМЕЮЩИЙ.
-----
Да, ваш скрипт исполняется, данные в БД заносятся, но вот ответ от сервера страница, запустившая скрипт, получить уже не может.
Потому что этой страницы уже НЕТ.
На её месте в окне браузера - другая страница.
Пусть с тем же адресом (URL), но это - другой документ. | |
|
|
|
|
|
|
|
для: ЯСА
(17.04.2012 в 18:38)
| | Попробовал и Ваш код - ничего не происходит, отправки нет, но данные отсылаются и добавляются в БД.
Насколько я понимаю, этот код ловит нажатие, но его не делает:
$('#add').submit(function(){
|
Дальше берутся параметры из поля:
И данные через ajax отправляются в БД.
И после этого заменяют, обновленными даными, содержимое div'а:
$("#seetag").html(results);
|
| |
|
|
|
|
|
|
|
для: grafen
(17.04.2012 в 12:14)
| |
<form action="http://google.com/" onsubmit="//здесь_КАКОЙ_УГОДНО_скрипт_хоть_AJAX_хоть_запуск_ракет_по_США">
<input name="nm" value="yes">
<input type="submit">
</form>
|
Запустите, нажмите на кнопку и посмотрите на результат.
Самбит происходит (переадресация, по-вашему) или не происходит?
Стартовую страничку Гугля в окошке видите или не видите?
В адресной строке символы ?nm=yes видите или не видите?
Из каких соображений вы полагаете, что в вашем случае сабмита не будет?
Где вы его отменяете?
В каком конкретном месте кода? | |
|
|
|
|
|
|
|
для: grafen
(17.04.2012 в 12:14)
| | Вы не хотите понять о чем вас спрашивают. Давайте тогда в обратном порядке. А зачем вам два метода передачи данных, если вы отправляете одному и тому же обработчику данные одной и той же формы? | |
|
|
|
|
|
|
|
для: ЯСА
(17.04.2012 в 01:20)
| | Попробовал. Ничего не переадресовывает. Тут же через ajax забираются данные из полей, примерно так: $("#idmenu").val(). Т.е. форма не отправляется, насколько я понимаю. | |
|
|
|
|
|
|
|
для: grafen
(16.04.2012 в 21:38)
| | Нажатие на кнопку сабмита приводит не только к запуску скрипта, но непосредственно и к самому сабмиту,.
Так как в форме у вас нет ни одного элемента с непустым атрибутом NAME и ACTION в форме не указан, визуально вы этого сабмита не замечаете.
А вот ради проверки добавьте либо так
echo '<form id="add" action="http://google.com/">
<input ...
|
либо так
echo '<form id="add">
<input name="idfilter" type="hidden"...
|
и нажмите кнопу сабмита (которая у вас с плюсиком).
И сразу увидите - либо страницу Гугля в окне, либо добавление символа вопроса и прочего в адресной строке браузера.
Правильный вывод, надеюсь, сделать сможете самостоятельно? | |
|
|
|
|
|
|
|
для: confirm
(16.04.2012 в 19:01)
| | Я единственное, что понимаю, что когда обновляю div, то перестают работать все функции (кроме добавления записей). Какой выход? | |
|
|
|
|
|
|
|
для: grafen
(16.04.2012 в 17:24)
| | Ваш код к вашему вопросу имеет сугубо косвенное отношение, и никоим образом не поясняет проблемы.
В последних версиях никаких других не добавляли, если речь об обработке событий, а вот в версии 1.7 добавлен метод .on(), который заменяет три устаревших метода: .bind(), .delegate() и .live(), но которыми по прежнему можно пользоваться. Данный метод, как и метод .live() позволяет установить обработчик события объектам, которые могут быть загружены на страницу в будущем.
Ровно об этом вас и спрашивали. | |
|
|
|
|
|
|
|
для: AlexSol
(16.04.2012 в 15:17)
| | Новые элементы добавляются путем обнуления div, и вставки туда обновленной информации. Выяснил, что не реагируют все элементы из-за того, что теряется инициализация, нужно по-новому присвоить полям действия скрипта. Использую библиотеку jquery, пишут, что там для этого используется функция live (в последних версиях ещё какие-то другие добавили), но не получается привязать к своему скрипту.
Вот кусок:
<script type="text/javascript">
$(document).ready(function(){
$('#add').submit(function(){
function loadfilter(id)
{
$.ajax({
type: "POST",
url: "tovarplus.php",
data: 'filter=' + id,
cache: false,
success: function(results){
$("#seetag").html(results);
$('#add').trigger('reset');
}
});
}
$.ajax({
type: "POST",
url: "tovarplus.php",
data: 'idfilter=' + $("#idfilter").val() + '&name=' + $("#name").val(),
cache: false,
success: function(){
loadfilter($("#idfilter").val());
}
});
return false;
});
});
</script>
<?php
echo '<form id="add">
<input type="hidden" id="idfilter" value="'.$_GET["id"].'">
<input type="text" id="name">
<input type="submit" value="+">
</form>';
echo '<div id="seetag">';
select_tag($_GET["id"]);
echo '</div>';
|
| |
|
|
|
|