JQuery форму отправить с делегатом

0

У меня есть рабочий код jquery для:

  • Отправить конкретную форму из нескольких форм с одинаковым идентификатором
  • сделайте некоторую проверку на textarea, отключите submit.
  • очистить текст и отобразить сообщение об успехе или неудаче.

Но - у меня проблема с отображением сообщений, сообщение подтверждения, когда текст не введен, отображается надлежащим образом на конкретную форму div. но сообщение об успешности/сбое не отображается для конкретного div, оно всегда отображается в первой форме div.

$('input[type="submit"]').attr('disabled','disabled');
 $('#replytext').keyup(function() {
    if($('#replytext').val() != '') {
       $('input[type="submit"]').removeAttr('disabled');
    }
 });
    $(document).ready(function(){
        //$("#replyForm").submit( function () {
        $('#profile-posts-updates').delegate('#replyForm', 'submit', function() {
        //if($(this).find('#replytext').val()=='')
        if(jQuery(this).children("#replytext").val()=='') {  $(this).next('#replyerror').html('Write your message to post!').css("color","red"); return false;}
         //$('#imgbtn').show();
         //$('#post').hide();
          $.post(
           'Process.php?in=DataHandler',
            $(this).serialize(),
            function(data){
            if(data === 'Success'){
                $('#replytext').val('');
                //jQuery(this).children("#replytext").val('');
                //$("#postbox").fadeOut(50);
                //$("#postbtn").fadeIn(400);
                $("#replyerror").html('Your message has been successfully posted !').css("color","green");
                //$(this).children("#replyerror:first").html('Write your message to post!').css("color","red");
                }else{
                $("#replyerror").html('There was some problem please try again!').css("color","red");
                }
            //$('#imgbtn').hide();
            //$('#post').show();
            }
          );
          return false;   
        });   
    });
  • 1
    multiple forms having same id атрибут multiple forms having same id -> id, должны быть уникальными в DOM.
Теги:

1 ответ

1

Здесь, где (часть) ваша проблема

"множественные формы с одинаковым идентификатором"

Каждый элемент HTML DOM ДОЛЖЕН иметь уникальный идентификатор, иначе он недействителен HTML

  • 0
    Но я считаю, что с помощью jquery у вас есть решение (обходной путь?), Чтобы справиться с этим. Так как цикл mysql while динамически создает форму, трудно предоставить идентификатор формы каждому из них и создать функции jquery. Любая помощь будет сокращена.
  • 0
    @ user2944727, нет обходного пути для неверной разметки. Каждый id должен быть уникальным, в противном случае используйте class . Кстати - jQuery распознает только первый экземпляр id .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню