отправить данные без перезагрузки

Тема в разделе "JavaScript", создана пользователем guru85, 21 май 2012.

Модераторы: ZiX
  1. guru85

    guru85 Постоялец

    Регистр.:
    24 мар 2010
    Сообщения:
    134
    Симпатии:
    3
    есть страница генерируемая php скриптом, на ней всегда разные данные представленные списком:
    1. данные1
    2. данные2
    3. данные3
    4. данные4
    цель , отправить скрипту обработчику например данные1 и данные2 без перезагрузки, а потом еще данные 4, вообщем как мне захочется, но что бы страница не перезагружалась.
    Пробовал через Jquery с формирование чекбокса и одной формы,
    Код:
    <script>
            $(function(){
    $('#form').submit(function(e){
    //отменяем стандартное действие при отправке формы
    e.preventDefault();
    //берем из формы метод передачи данных
    var m_method=$(this).attr('method');
    //получаем адрес скрипта на сервере, куда нужно отправить форму
    var m_action=$(this).attr('action');
    //получаем данные, введенные пользователем в формате input1=value1&input2=value2...,
    //то есть в стандартном формате передачи данных формы
    var m_data=$(this).serialize();
    $.ajax({
    type: m_method,
    url: m_action,
    data: m_data,
    success: function(result){
    $('#response').html(result);
    }
    });
    });
    });
        </script>
     
    чек бокс
    <form id="form" action="/submit.php" method="post">
    1. данные1<input type="checkbox" name="rot[]" value="данные1" />
    2. данные2<input type="checkbox" name="rot[]" value="данные2" />
    3. данные3<input type="checkbox" name="rot[]" value="данные3" />
    <input type="submit" value="Submit" /> </form><div id="response"></div>
     
     
     
     
     
    
    неудобно тем что галочка не убирается после отправки и выглядит все как то по советски, в идеале бы просто кнопочку на против каждой строки, "отправить"
    Заранее, благодарю за ответы.
     
  2. a_n_d_y

    a_n_d_y

    Регистр.:
    26 мар 2006
    Сообщения:
    465
    Симпатии:
    61
    Так сделай вместо чекбоксов кнопки и отправляй при нажатии. А кнопку сабмит вообще можно тогда убрать.
     
  3. .WishMaster.

    .WishMaster. Создатель

    Регистр.:
    15 июл 2009
    Сообщения:
    27
    Симпатии:
    0
    Ведь можно скриптом убирать/ставить галочку?
     
  4. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    элементарно...
    добавляешь в форму кнопочку сброса данных формы, а после вызова аякса в скрипте заставляешь скрипт эту кнопку нажать:
    PHP:
    <script>
            $(function(){
    $(
    '#form').submit(function(e){
    //отменяем стандартное действие при отправке формы
    e.preventDefault();
    //берем из формы метод передачи данных
    var m_method=$(this).attr('method');
    //получаем адрес скрипта на сервере, куда нужно отправить форму
    var m_action=$(this).attr('action');
    //получаем данные, введенные пользователем в формате input1=value1&input2=value2...,
    //то есть в стандартном формате передачи данных формы
    var m_data=$(this).serialize();
    $.
    ajax({
    typem_method,
    urlm_action,
    datam_data,
    success: function(result){
    $(
    '#response').html(result);
    }
    });
    //сбрасываем форму к исходному состоянию..
    $("#res").click();
    });
    });
        
    </script>
     
    чек бокс
    <form id="form" action="/submit.php" method="post">
    1. данные1<input type="checkbox" name="rot[]" value="данные1" />
    2. данные2<input type="checkbox" name="rot[]" value="данные2" />
    3. данные3<input type="checkbox" name="rot[]" value="данные3" />
    <input type="submit" value="Submit" /><input type="reset" value="Reset" id="res"/> </form><div id="response"></div>