Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax脚本不更改按钮文本_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript Ajax脚本不更改按钮文本

Javascript Ajax脚本不更改按钮文本,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我制作了一个注释系统,通过Ajax在数据库中插入注释。问题是,它在db中正确添加了注释,但与submit的成功代码不兼容。有什么建议吗 表格 <h4>Add your Review:</h4> <?php if(isset($_SESSION["login_email"]) && !empty($_SESSION["login_email"])) { $email=$_SESSION['login_ema

我制作了一个注释系统,通过Ajax在数据库中插入注释。问题是,它在db中正确添加了注释,但与
submit
的成功代码不兼容。有什么建议吗

表格

 <h4>Add your Review:</h4>
  <?php
  if(isset($_SESSION["login_email"]) && !empty($_SESSION["login_email"]))
          {
        $email=$_SESSION['login_email'];
          ?>
        <div id="addCommentContainer">
        <form id="addCommentForm" method="post" action="">
         <div>
        <label for="body">Review</label>
         <textarea name="body" id="body" cols="20" rows="5"></textarea>
         <input type="hidden" name="email" id="email" value="<?php echo $email?>" />
        <input type="submit" id="submit" value="Submit" />
        </div>
        </form>
        </div>
             <?php
           }
     else{
       echo "Login to add review!";
        }
        ?>
 </div>
添加您的评论:
复习

使“提交”按钮处于禁用状态,直到无法从服务器获得响应为止

$(document).ready(function() {
    $('#addCommentForm').submit(function(e) {

        e.preventDefault();

        $('#submit').prop("disabled", true);

        $('span.error').remove();

        $.ajax({
            url: "submit.php",
            type: "POST",
            data: $('#addCommentForm').serialize()
            success: function(result) {

                $('#submit').prop("disabled", true);


                if (msg.status) {
                    $(msg.html).hide().insertBefore('#addCommentContainer').slideDown();
                    $('#body').val('');
                } else {
                    $.each(msg.errors, function(k, v) {
                        $('label[for=' + k + ']').append('<span class="error">' + v + '</span>');
                    });
                }
            }
        });

    });

})
$(文档).ready(函数(){
$('#addCommentForm')。提交(函数(e){
e、 预防默认值();
$('#submit').prop(“disabled”,true);
$('span.error').remove();
$.ajax({
url:“submit.php”,
类型:“POST”,
数据:$('#addCommentForm')。序列化()
成功:功能(结果){
$('#submit').prop(“disabled”,true);
如果(消息状态){
$(msg.html).hide().insertBefore('#addCommentContainer').slideDown();
$('正文').val('');
}否则{
$.each(msg.errors,函数(k,v){
$('label[for='+k+']')。追加('+v+'');
});
}
}
});
});
})

添加
.done
.fail
。始终在
.post()之后添加
,您将看到错误。在下面的示例代码中,我正在打印到控制台。问题似乎在于,您要求返回的数据采用
JSON
格式,但您没有使用JSON发送数据。将数据转换为JSON,然后发送:

 $.post('submit.php', $(this).serialize(), function (msg) {
     working = false;
     $('#submit').val('Submit');
     if (msg.status) {
         $(msg.html).hide().insertBefore('#addCommentContainer').slideDown();
         $('#body').val('');
     } else {
         $.each(msg.errors, function (k, v) {
              $('label[for=' + k + ']').append('<span class="error">' + v + '</span>');
         });
     }

 }, 'json').done(function () {
     alert("second success");
 }).fail(function (a,b,c) {
     console.log(a);
     console.log(b);
     console.log(c);
 }).always(function () {
     alert("finished");
 });

您是否尝试过另一种方法,即不保留按钮的
input
标记,而是保留按钮的
标记并检查代码是否有效?但是这里是
$('#submit').val()
将更改为
$('#submit').html()
$('#submit').text()
@dvenkatsagar
$('#submit').html('submit'))
也不起作用,即使您将
输入标记更改为
按钮
标记?您遇到了什么问题?@AliKhanusiya的问题是它成功地将值插入数据库中,但它不会将按钮值更改为从工作状态提交,然后再进行编码,这无助于显示
submit.php的内容这样我们就能知道发生了什么
$(document).ready(function() {
    $('#addCommentForm').submit(function(e) {

        e.preventDefault();

        $('#submit').prop("disabled", true);

        $('span.error').remove();

        $.ajax({
            url: "submit.php",
            type: "POST",
            data: $('#addCommentForm').serialize()
            success: function(result) {

                $('#submit').prop("disabled", true);


                if (msg.status) {
                    $(msg.html).hide().insertBefore('#addCommentContainer').slideDown();
                    $('#body').val('');
                } else {
                    $.each(msg.errors, function(k, v) {
                        $('label[for=' + k + ']').append('<span class="error">' + v + '</span>');
                    });
                }
            }
        });

    });

})
 $.post('submit.php', $(this).serialize(), function (msg) {
     working = false;
     $('#submit').val('Submit');
     if (msg.status) {
         $(msg.html).hide().insertBefore('#addCommentContainer').slideDown();
         $('#body').val('');
     } else {
         $.each(msg.errors, function (k, v) {
              $('label[for=' + k + ']').append('<span class="error">' + v + '</span>');
         });
     }

 }, 'json').done(function () {
     alert("second success");
 }).fail(function (a,b,c) {
     console.log(a);
     console.log(b);
     console.log(c);
 }).always(function () {
     alert("finished");
 });
echo json_encode($_POST);