我想知道是否有人可以帮助我。
首先,我很抱歉,因为我对此真的很陌生,所以请原谅我有些看起来非常基本的问题/错误。
下面的代码摘录成功地创建了一个与当前用户相关的记录表。
工作解决方案 - Baylor Rae' 在过去 3-4 天里不知疲倦地与我一起寻找解决方案。所有 Baylor Rae 都无法提供一个完全成功的剧本,但他们确实在推动这个过程中发挥了很大作用。然而,下面的完整工作脚本由 jazzman1 @ PHP Freaks 提供
主要脚本
<script type="text/javascript">
$(document).ready(function(){
$('form.delete').submit(function(e){
console.log('submit'); return false;
})
})
</script>
<script type="text/javascript">
$(document).ready(function(){
$('form.delete').submit(function(e){
e.preventDefault();
var elem = $(this).closest('.delete');
var lid = $(this).serialize();
$.confirm({
'title' : 'Delete Confirmation',
'message' : 'You are about to delete this Location. <br />It cannot be restored at a later time! Do you wish to continue?',
'buttons' : {
'Yes' : {
'class' : 'blue',
'action': function(){
//elem.slideUp();
$.ajax({
url: 'deletelocation.php',
type: 'POST',
data: lid,
success: function(response) {
console.log('success', response);
},
error: function() {
console.log('error')
}
});
}
},
'No' : {
'class' : 'gray',
'action': function(){} // Nothing to do in this case. You can as well omit the action property.
}
}
});
});
})
</script>
jqueryconfim.js
(function($){
$.confirm = function(params){
if($('#confirmOverlay').length){
// A confirm is already shown on the page:
return false;
}
var buttonHTML = '';
$.each(params.buttons,function(name,obj){
// Generating the markup for the buttons:
buttonHTML += '<a href="#" class="button '+obj['class']+'">'+name+'<span></span></a>';
if(!obj.action){
obj.action = function(){};
}
});
var markup = [
'<div id="confirmOverlay">',
'<div id="confirmBox">',
'<h1>',params.title,'</h1>',
'<p>',params.message,'</p>',
'<div id="confirmButtons">',
buttonHTML,
'</div></div></div>'
].join('');
$(markup).hide().appendTo('body').fadeIn();
var buttons = $('#confirmBox .button'),
i = 0;
$.each(params.buttons,function(name,obj){
buttons.eq(i++).click(function(){
// Calling the action attribute when a
// click occurs, and hiding the confirm.
obj.action();
$.confirm.hide();
return false;
});
});
}
$.confirm.hide = function(){
$('#confirmOverlay').fadeOut(function(){
$(this).remove();
});
}
})(jQuery);
主脚本中的表单
<form name="delete" id="delete" class="delete">
<input type="hidden" name="lid" id="lid" value="<?php echo $theID ?>" />
<input type="submit" value="Delete Record"/>
</form>
删除位置.php
<?php
$lid = intval($_POST['lid']);
$query = mysql_query("DELETE FROM table WHERE locationid='".$lid."'");
?>
您会看到表格的末尾有四个按钮,通过locationsaction.php
脚本将用户导航到四个不同的屏幕,所有这些屏幕都通过值链接回主表格记录lid
。该脚本如下所示。
我现在正在尝试为该Delete
功能实现确认消息。可以在这里找到源代码。
这就是我变得有点不确定下一步该做什么的地方。我试图将按钮on click
事件与Delete
函数名称联系起来,但不是确认消息,而是将用户带到一个空白屏幕并删除记录。
我已经运行了 JavaScript 控制台并且没有创建任何错误,所以我有点不确定如何继续。
我只是想知道是否有人可以看看这个,让我知道我哪里出错了。
非常感谢和亲切的问候