繁体   English   中英

我的jQuery Ajax代码无故刷新页面

[英]My jquery ajax code refresh the page without reason

我有简单的ajax-jquery / html / php代码,但是当我单击按钮添加数据时出现了问题,然后页面只是刷新而什么也没发生,而且我看不到是什么问题,因为然后我success, error变成了ajax由于页面已刷新,因此无法工作...

这里我有jquery / ajax代码:

 $( document ).ready(function() {
$("#addCom").click(function() {
    var tabela = 'parcele';
        $.ajax({
            url: "insertKom.php",
            type: "POST",
            async: true, 
            data: { ajdi:ajdi, tabela:tabela,zakoga:$("#zakoga").val(),beleska:$("#beleska").val(),podsetnik:$("#podsetnik").val()},
            dataType: "html",

            success: function(data) {
                console.log(data);  
            },
            error:function(data) {
            console.log(data); 
            }
        });

});
 });

也HTML:

 <div class="jumbotron">
        <form class="form-horizontal">
<fieldset>


<!-- Text input-->
<div class="form-group">
  <label class="col-md-4 control-label" for="zakoga">Odnosi se na:</label>  
  <div class="col-md-4">
  <input id="zakoga" name="zakoga" type="text" placeholder="" class="form-control input-md">

  </div>
</div>

<!-- Textarea -->
<div class="form-group">
  <label class="col-md-4 control-label" for="beleska">Beleska - komentar</label>
  <div class="col-md-4">                     
    <textarea class="form-control" id="beleska" name="beleska"></textarea>
  </div>
</div>

<!-- Text input-->
<div class="form-group">
  <label class="col-md-4 control-label" for="podsetnik">Podsetnik za dan:</label>  
  <div class="col-md-4">
<div class="input-append date" id="podsetnik" data-date="2014-05-05" data-date-format="yyyy-mm-dd">
  <input class="span2 form-control" size="16" type="text" value="">
  <span class="add-on"><i class="icon-th"></i></span>
</div>    
  </div>
</div>


<!-- Button -->
<div class="form-group">
  <label class="col-md-4 control-label" for="addCom"></label>
  <div class="col-md-4">
    <button id="addCom" name="addCom" class="btn btn-primary">Dodaj belesku</button>
  </div>
</div>

</fieldset>
</form>

    </div>

和PHP PDO-插入文件:

 try {        
                $STH = $db->prepare("INSERT INTO zalihe (tabela, id_utabeli, datum, podsetnik, naslov, komentar, user_id) VALUES (:2,:1,:6,:3,:4,:5,:7)");

                $STH->bindParam(':1', $_POST['ajdi']);
                $STH->bindParam(':2', $_POST['tabela']);
                $STH->bindParam(':3', $_POST['podsetnik']);
                $STH->bindParam(':4', $_POST['zakoga']);
                $STH->bindParam(':5', $_POST['beleska']);
                $STH->bindParam(':6', now());
                $STH->bindParam(':7', $user_id);

                $STH->execute();

            } catch (PDOException $e) {
                echo $e->getMessage();
            }
            echo "<p>Data submitted successfully</p>";

但是,当我单击ID = addCom的按钮时,页面只是刷新而没有任何内容添加到数据库。 可能是什么原因?

您需要阻止默认操作。 尝试:

 $("#addCom").click(function(evt) {
     evt.preventDefault();
     ....

官方文档

试试这个,添加event.preventDefault();

$( document ).ready(function() {
$("#addCom").click(function(event) {
event.preventDefault();
    var tabela = 'parcele';
        $.ajax({
            url: "insertKom.php",
            type: "POST",
            async: true, 
            data: { ajdi:ajdi, tabela:tabela,zakoga:$("#zakoga").val(),beleska:$("#beleska").val(),podsetnik:$("#podsetnik").val()},
            dataType: "html",

            success: function(data) {
                console.log(data);  
            },
            error:function(data) {
            console.log(data); 
            }
        });

});
 });

您需要preventDefault才能停止提交表单。

$( document ).ready(function() {
  $("#addCom").click(function(e) {
    e.preventDefault();
    //functions
 });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM