2013-07-12 2 views
0

Я пытаюсь изменить плагин К и имеет проблемы с формамиDetect ID каждой формы, представленной

На самом деле у меня есть системы, которые генерируют опросы отправить голоса и все формы, как это:

<div class="sp-poll" id="poll-<?php echo $pollid; ?>"> 
    <p class="sp-question"> 
     <?php echo $question; ?> 
    </p> 
    <form method="post" action="<?php echo $postFile; ?>" id="spe_form-<?php echo $pollid; ?>"></form> 
</div> 

Javascript процесс:

jQuery(function() { 

    var $ = jQuery; // Because `$` is easier than using `jQuery` 
    $('.sp-poll form').submit(formProcess); // Access formProcess() when the poll is submitted 

    /** 
    * Form Process 
    * Process through the form 
    * 
    * @param object e 
    */ 
    function formProcess(e) { 

     e.preventDefault(); 

     var poll = $('input[name=poll]').val(), 
      answer = $('input[name=answer]:checked').val(), 
      div = $(this).parent(), 
      action = $(this).attr('action'); 

     $(this).slideUp('slow', function() { 
      updatePoll(action, poll, answer); 
     }); 
    } 
}); 

проблема подмигнула каждую форму имеют разные идентификаторы, и процессор только обнаруживать первый идентификатор, например, если У меня есть 5 форм с идентификаторами Дифференца все время обнаружить только один идентификатор одной формы, но не другие, когда не запускать форму процесса, я стараюсь использовать:

jQuery(".sp-poll form").attr(id); 

Но всегда детектировать такое же количество и не обнаружить каждый идентификатор в каждом form

PS: Мне нужно отправить атрибут идентификатора формы, так как форма повторяется каждый раз, когда я создаю опрос на странице. Я хочу иметь возможность обнаруживать данные для каждой другой формы, используя их идентификатор, чтобы отсортировать их.

+0

Вы можете сделать скрытый ввод с именем form-id и установить там значение id. Но я не понимаю, почему вы обрабатываете форму с помощью JavaScript? Вы можете опубликовать его на другой php-странице или сделать это с помощью AJAX. – jeff

+0

Да, проблема заключается в том, что процесс состоит из jquery, поскольку я помещаю в пример кода и обнаруживаю форму в форме .sp-poll, но не отправляю идентификатор, и этим всегда обрабатывается одна и та же форма, и нет других формы, мне нужно отправить этот идентификатор или извлечение для формы процесса id – user2536883

ответ

1

При использовании форм HTML только информация, хранящаяся в FORM FIELDS или URL, отправляется обратно на сервер. Идентификаторы элементов не имеют ничего общего с формами - они предназначены для манипулирования пользовательским интерфейсом.

Если вы хотите передать ID формы на сервер, используйте скрытое поле.

+0

У меня есть скрытое поле, но проблема в том, что у него много форм, а процессор только обнаруживает первую форму, а не другую, если я отправляю форму, но процессор с помощью ajax не обнаруживает идентификатор форма всегда отправляет ту же форму, и мне не нужно отправлять идентификатор формы, но класс использования процессора и добавить форму без идентификатора формы – user2536883

+0

Прочтите это. Это лучший способ извлечь ваши данные формы, чем делать то, как вы его используете в своем коде. http://api.jquery.com/serialize/ –

+0

проблема заключается в том, что в плагине есть много форм с одним и тем же классом, но с другим идентификатором, при запуске и множеством форм на одной странице, submit by ajax запускает форму класса обнаруживать и не обнаруживать истинный id, во всех формах обнаруживать ту же форму ('. sp-poll form'). submit (formProcess); , но id это другое, и процесс не имеет правильной формы – user2536883

Смежные вопросы