Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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 未通过AjaxForm/JQuery提交表单_Javascript_Php_Jquery_Forms_Ajaxform - Fatal编程技术网

Javascript 未通过AjaxForm/JQuery提交表单

Javascript 未通过AjaxForm/JQuery提交表单,javascript,php,jquery,forms,ajaxform,Javascript,Php,Jquery,Forms,Ajaxform,有一个表格显示项目,每行有一个“删除”按钮。“删除”按钮位于窗体内。 我正在使用AjaxForm方法提交表单。单击“删除”按钮可以删除数据,而不会指向任何页面或刷新当前页面。 但实际情况是表单按照action标签上定义的常规方式提交 我以以下方式在表上显示结果: while($row = $result->fetch_assoc()) { ?> <tr> <td><?php echo ++$x

有一个表格显示项目,每行有一个“删除”按钮。“删除”按钮位于窗体内。 我正在使用AjaxForm方法提交表单。单击“删除”按钮可以删除数据,而不会指向任何页面或刷新当前页面。 但实际情况是表单按照action标签上定义的常规方式提交

我以以下方式在表上显示结果:

while($row = $result->fetch_assoc()) 
    {               
    ?>  


<tr>
  <td><?php echo  ++$x; ?></td>
  <td><?php echo $row["id"]; ?></td>
  <td><?php echo $row["title"]; ?></td>
  <td><?php echo $row["author"]; ?></td>
  <td>
  <form method="POST" id='deleteform' class="forms" action="deletebook.php">         
  <input type="hidden" name="deletebook" value='<?php echo $row["id"]; ?>' >
  <button type="submit" class="btn btn-danger btn-xs">Delete</button>
  </form>
  </td>
</tr> 


<?php
    }
}

else
{
    echo "No Books Found!";
}
while($row=$result->fetch_assoc())
{               
?>  
试着这样做:

while($row = $result->fetch_assoc()) 
    {               
    ?>  


<tr>
  <td><?php echo  ++$x; ?></td>
  <td><?php echo $row["id"]; ?></td>
  <td><?php echo $row["title"]; ?></td>
  <td><?php echo $row["author"]; ?></td>
  <td>
      <input type="hidden" class="hiddenId" value="<?php echo $row["id"]; ?>" />
  <button type="button" class="btn btn-danger btn-xs">Delete</button>
  </td>
</tr> 


<?php
    }
}

else
{
    echo "No Books Found!";
}

?>

<script>
    var id;

$(document).ready(function(){
    $(".btn-danger").click(function(){
        id = $(this).prev().val();
        $.ajax({
            url: "deletebook.php",
            type: 'post',
            data: {
                "deletebook": id
            }
        }).done(function(response){
            $(".hiddenId[value='" + id + "']").parent().parent().remove();
        });
    });
});
</script>
在php add方法中,返回如下字符串:

"<tr><td></td><td>1</td><td>$Title</td><td>$Author</td><td><input type=\"hidden\" class=\"hiddenId\" value=\"$Id\" /><button type=\"button\" class=\"btn btn-danger btn-xs\">Delete</button></td></tr>";
“1$Title$AuthorDelete”;

我想您在这里使用的是ajaxForm插件


ajaxForm()
method?这是插件的一部分吗?您是否在浏览器控制台中查看了请求/响应?这是无效的html。所有删除按钮都具有相同的id。您有
n
id='deleteform'
,那么您想用
$('.\35; deleteform')绑定哪一个。ajaxForm(函数(){
,因为
id
s应该是唯一的。类将是您的朋友。您正在使用event.preventDefault(),但未定义事件,请检查console@JayBlanchard抱歉,我是新手。是的,这是一个jquery插件。我如何查看响应?不起作用。顺便说一句,行以前被删除过。但是在更改代码后,就像你显示的那样,行也没有被删除。为什么不呢?我错过了“forms[“deleteform”]之前的“document”关键字。submit()我刚刚更新了上面的代码。我对它进行了测试,效果很好。它工作正常,但我现在又回到了原点。数据以前被正确删除过。现在也被删除了。我想要的是,当我按下删除按钮时,数据应该被删除,而不必将我发送到deletebook。phpWhy操作“试试这个?”“?请添加一个解释,说明您所做的事情以及您为什么这样做,不仅是为了OP,也是为了SO的未来访问者。我很抱歉。这是您期望的结果吗?您的回答成功删除了行。我可以在需要代码删除行而不将我发送到其他页面之前执行此操作。无论如何,Thnx。”。
$('#addbook').ajaxForm(
{ 
    success: function(responseText, statusText, xhr, $form){
        $('#booksuccess').modal('show'); 
        $("#reset").click(); 
        $("tr").last().append(responseText);
    }
}); 
"<tr><td></td><td>1</td><td>$Title</td><td>$Author</td><td><input type=\"hidden\" class=\"hiddenId\" value=\"$Id\" /><button type=\"button\" class=\"btn btn-danger btn-xs\">Delete</button></td></tr>";
    $(document).ready(function() { 
        $('#deleteform').ajaxForm(
           {
              beforeSubmit: function(formData, jqForm, options){
                   //show loader
              },
              success:function(responseText, statusText, xhr, $form) { 

                 alert(responseText);
                 //hide loader
              }
           }
        ); 

    });