Member 14883710 Ответов: 2

Как добавить 1 каждый раз, когда я нажимаю эту кнопку в HTML/js


<input type="button" class="btn btn-primary btn-sm" id="testbtn" value="LIKE">
<script>
        var buttonclicked;
    $("#testbtn").click(function(){
    if( buttonclicked!= true) {
        buttonclicked= true;
        if (post.post_variable == "NULL")
            post.post_variable = 0;
        post.post_variable = post.post_variable + 1;
        alert("Button is clicked for first time");
    }else{
        alert("Button isn't clicked for first time");
    }
    });
  </script>

это html и js код для этого, и я хочу добавить 1 в переменную post.post_variable, которая является переменной в моей модели базы данных.

class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.Text, nullable = False)
    post_variable = db.Column(db.Integer, default = "NULL")

   

plz help me out i am stuck in this.

What I have tried:

I have tried the above code but its not working.

2 Ответов

Рейтинг:
1

Richard MacCutchan

Вы никогда не увеличиваете счетчик, если buttonclicked является true Попробуйте изменить код таким образом:

if( buttonclicked!= true) {
    buttonclicked= true;
    if (post.post_variable == "NULL")
        post.post_variable = 0;
    alert("Button is clicked for first time");
}else{
    alert("Button isn't clicked for first time");
}
post.post_variable = post.post_variable + 1; // always increment the counter


Рейтинг:
0

Andre Oosthuizen

Вы можете попробовать следующее -

HTML

<pre><input type="button" class="btn btn-primary btn-sm" id="testbtn" value="LIKE">

<div id="output">0</div>


Ява
$(function() {
  $('#testbtn').click(function() {
    $('#output').html(function(i, val) {
      return val * 1 + 1;
    });
  });
});


Просто добавьте свой другой необходимый код или блоки if по мере необходимости.