За последние 24 часа нас посетили 24428 программистов и 1726 роботов. Сейчас ищут 1914 программистов ...

jquery, формы

Тема в разделе "JavaScript и AJAX", создана пользователем Koc, 28 июн 2008.

  1. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    Доброго времени суток! не хочу использовать плагин forms. Хочу использовать стандартные приемы отправки данных на сервер. Данные отправить могу, но только если они наперед заданы:

    [js]<script type="text/javascript">
    $(document).ready(function(){

    $("#submitVoteID").click(function(){
    $.post('recive.php', {
    /*данные формы*/
    }, function(data) {
    $("#voteErrorID").html(data);
    }
    );
    return false;
    })
    });
    </script>
    [/js]
    А как их отправлять если пользователь че-то вводит? Дело в том, что форма генерируется по-разному. В одной у нас 8 checkbox'ов, в другой 3 radio + hidden. Имена у radio/checkbox всегда одинаковые (rVote/cVote). Собственно вопрос: как отправить такие данные о выбранных чекбоксах/радио на сервер?
     
  2. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
  3. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    здорово, великолепно.
    MiksIr большое спасибо
     
  4. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    собсно вот что получилось: мини-плагин
    [js]<script type="text/javascript">

    /*******************************************\
    | simple formAjax plugin for jQuery by Koc |
    | $rev 28.06.08 |
    \*******************************************/
    jQuery.fn.formAjax = function(o){
    o = $.extend({
    url :"myFile.php",
    fID :"myFormID",
    sID :"mySubmitID",
    dRID :"myDivID"
    }, o || {});

    $("#"+o.sID).click(function(){
    var fields = $("#"+o.fID).serializeArray();
    var a = [];
    jQuery.each(fields, function(i, field){
    a.push({name: field.name, value: field.value});
    });
    alert(a); /*вот тут проблема. Выводит[object Object]. Кто знает - исправьте*/
    $.post(o.url, a, function(data) {$("#"+o.dRID).html(data);});
    return false;
    })
    };
    </script>[/js]

    Example:
    [js]<script type="text/javascript">
    $(function(){
    $().formAjax({
    url:'recive.php',
    fID:'fVoteID',
    sID:'submitVoteID',
    dRID:'voteErrorID',
    });
    });
    </script>[/js]