Добавление 1 в div onsubmit

#javascript #jquery #ajax

#javascript #jquery #ajax

Вопрос:

у меня есть форма, которую я отправляю в базу данных с помощью ajax, на странице есть div с привязкой к базе данных, которая подсчитывает общее количество записей, отправленных при обновлении страницы. теперь то, что я хочу сделать, это отправить форму, я должен добавить 1 к привязке в div, которая подсчитывает общее количество отправленных записей

 <div id="count_div"></div>
    <form id="form2" name="form2" method="POST" action="<%=MM_editAction%>">
              <input name="comment" type="text" id="comment" size="50" />
              <input name="imageField3" type="image" id="imageField3" src="imgs/buttons/comment.png" align="bottom" />
              <input name="wardrobe" type="hidden" id="wardrobe" value="1" />
              <input name="comme" type="hidden" id="comme" value="2" />
              <input name="comfn" type="hidden" id="comfn" value="3" />
              <input name="photo_id" type="hidden" id="photo_id" value="4" />
              <input name="ctype" type="hidden" id="ctype" value="picture" />
              <input name="resp_email" type="hidden" id="resp_email" value="4" />
              <input type="hidden" name="MM_insert" value="form2" />
            </form>
  

AJAX

 <script>
$(document).ready(function(){
    $("#form2").on('submit',function(event){
        event.preventDefault();

        data = $(this).serialize();

        $.ajax({
        type: "POST",
        url: "int_p_cmt.asp",
        data: data
        }).success(function() {

 $("#msg_div").append("<div class='messages' style='border:1px purple solid; padding:2px; margin:5px;'>Your comment has been saved </div>");

            setTimeout(function() { 
                $(".messages").fadeOut(function(){
                    $(".messages").remove();
                }); 
            }, 1000);

            $("input[type=text]").val("");

        });
    });
});
</script>
  

Комментарии:

1. И что вы уже пробовали?

2. это то, что у меня есть, и оно отлично передается в базу данных, и я новичок в jquery, поэтому мне трудно это сделать

3. $("#count_div").text('20'); ?

4. что? я не понимаю, что вы пытаетесь сказать

5. какой div считает числа?

Ответ №1:

если то, что я понял, правильно: вы хотите увеличить значение div «count_div», тогда попробуйте это:

 $(document).ready(function(){
$("#form2").on('submit',function(event){
    event.preventDefault();

    data = $(this).serialize();

    $.ajax({
    type: "POST",
    url: "int_p_cmt.asp",
    data: data
    }).success(function() {

        $("#msg_div").append("<div class='messages' style='border:1px purple solid; padding:2px; margin:5px;'>Your comment has been saved </div>");

        setTimeout(function() { 
            $(".messages").fadeOut(function(){
                $(".messages").remove();
            }); 
        }, 1000);

        $("#count_div").html(parseFloat($("#count_div").html()) 1);

        $("input[type=text]").val("");

    });
});
  

});

Комментарии:

1. когда я нажимаю «Отправить», содержимое в div исчезает

2. и что содержал div до того, как вы нажали на «Отправить»?

3. он содержит общее количество уже отправленных записей, которые я вызываю из базы данных. он обновляется только при обновлении страницы, но на этот раз я хочу, чтобы он обновлялся при нажатии на кнопку отправки

4. если у вас есть это по ссылке, это может очень помочь

5. вы имеете в виду значение в div?

Ответ №2:

ОБНОВЛЕНО:

 <script>
$(document).ready(function(){
    $("#form2").on('submit',function(event){
        event.preventDefault();

        data = $(this).serialize();

        $.ajax({
        type: "POST",
        url: "int_p_cmt.asp",
        data: data
        }).success(function() {
            window.counter=parseInt($('#count_div').html());
            window.counter  ;
            $('#count_div').html(window.counter);
            $("#msg_div").append("<div class='messages' style='border:1px purple solid; padding:2px; margin:5px;'>Your comment has been saved </div>");

            setTimeout(function() { 
                $(".messages").fadeOut(function(){
                    $(".messages").remove();
                }); 
            }, 1000);

            $("input[type=text]").val("");
        });
    });
});
</script>
  

Комментарии:

1. когда я нажимаю «Отправить» вместо того, чтобы добавлять то, что там есть, он очищает его и начинает отсчет от 1 и выше.

2. вы имеете в виду, что не хотите, чтобы он начинал отсчет с 0? если нет, то какое число? и есть ли какой-либо код внутри #count_div ?

3. да, у него есть общее количество записей, отправленных в базу данных

4. итак, вы говорите, что перед тем #count_div , как нажать «Отправить», есть число, если да, то проверьте ответ еще раз, я его обновил

5. когда я нажимаю «Отправить», содержимое в div исчезает и возвращается снова, когда я обновляю страницу