Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.04.2014, 20:24
Интересующийся
Отправить личное сообщение для Demonuka Посмотреть профиль Найти все сообщения от Demonuka
 
Регистрация: 07.06.2013
Сообщений: 13

Динамическая форма. Удаление элементов.
Заинтересовался jQuery, нашел пример взаимодействия скриптов с PHP, пытаюсь разобраться. PHP форма (без всякой мишуры):
print '
<head>
<meta http-equiv="Content-Type" content="text/html; charset=uft-8" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="adddeldata.js"></script>
<body>
<div class="content_wrapper">
<ul id="responds">';
echo '<li id="item_'.$row["id"].'">';
echo '<div class="del_wrapper"><a href="#" class="del_button" id="del-'.$row["id"].'">';
echo 'Удалить нах!';
echo '</a></div>';
echo $row["content"].'</li>';
print '
</ul>
<div class="form_style">
<textarea name="content_txt" id="contentText" cols="45" rows="5"></textarea>
<button id="FormSubmit">Add record</button>
</div>
</div>
</body>';

Файл adddeldata.js
$(document).ready(function() {
                    $("#FormSubmit").click(function (e) {
                            e.preventDefault();
                            if($("#contentText").val()==='')
                            {
                                alert("Введите текст!");
                                return false;
                            }
                            var myData = 'content_txt='+ $("#contentText").val(); //build a post data structure
                            jQuery.ajax({
                            type: "POST", // HTTP method POST or GET
                            url: "response.php", //Where to make Ajax calls
                            dataType:"text", // Data type, HTML, json etc.
                            data:myData, //Form variables
                            success:function(response){
                                $("#responds").append(response);
                                $("#contentText").val(''); //empty text field on successful
                            },
                            error:function (xhr, ajaxOptions, thrownError){
                                alert(thrownError);
                            }
                            });
                    });


                    $("body").on("click", "#del .del_button", function(e) {
                         e.returnValue = false;
                         var clickedID = this.id.split('-'); //Split string (Split works as PHP explode)
                         var DbNumberID = clickedID[1]; //and get number from array
                         var myData = 'recordToDelete='+ DbNumberID; //build a post data structure

                            jQuery.ajax({
                            type: "POST", // HTTP method POST or GET
                            url: "response.php", //Where to make Ajax calls
                            dataType:"text", // Data type, HTML, json etc.
                            data:myData, //Form variables
                            success:function(response){
                                //on success, hide  element user wants to delete.
                                $('#item_'+DbNumberID).fadeOut("slow");
                            },
                            error:function (xhr, ajaxOptions, thrownError){
                                //On error, we alert user
                                alert(thrownError);
                            }
                            });
                    });

                    // для первых трех
                    $("body").on("click", "#responds .del_button2", function(e) {
                                $(this).parent('div').parent('li').fadeOut("slow");
                    });


                });

Так вот добавление проходит на "Ура", а удаление не работает. Chrome матюкается на $("body").on("click", "#del .del_button", function(e) {
Говорит, мол, Uncaught TypeError: undefined is not a function...
И извечный вопрос...Что делать?
Ответить с цитированием
  #2 (permalink)  
Старый 21.04.2014, 20:27
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

function() {
// $(this) - твой элемент
}
Ответить с цитированием
  #3 (permalink)  
Старый 21.04.2014, 20:32
Интересующийся
Отправить личное сообщение для Demonuka Посмотреть профиль Найти все сообщения от Demonuka
 
Регистрация: 07.06.2013
Сообщений: 13

Все оказалось очень просто и глупо. Эта функция не в jquery.js, а в jquery.min.js. Понаделали библиотек..((
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы. Динамическое удаление элементов userbanderas Элементы интерфейса 2 06.01.2012 23:29
Удаление элементов через splice. возможно ли оптимизировать? Storan Общие вопросы Javascript 0 01.10.2011 21:16
Динамическая форма... AnggelofDem Элементы интерфейса 9 06.06.2011 09:42
Динамическая форма AnggelofDem Работа 12 06.06.2011 09:41
Динамическая подстановка названий элементов spnova Элементы интерфейса 1 15.08.2009 11:39