誰かが私を助けてくれるのではないかと思います。
まず、私はこれに非常に慣れていないため、お詫び申し上げます。非常に基本的な質問/エラーのように見えるものがあることをご容赦ください。
以下のコードの抜粋は、現在のユーザーに関連するレコードのテーブルを正常に作成します。
作業ソリューション - 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."'");
?>
テーブルの最後に 4 つのボタンがあることがわかります。これらのボタンは、locationsaction.php
スクリプトを通じてユーザーを 4 つの異なる画面にナビゲートし、すべてが値を介してメイン テーブル レコードにリンクされていlid
ます。このスクリプトを以下に示します。
関数の確認メッセージを実装しようとしていDelete
ます。このソースコードはここにあります。
ここで、私は次に何をすべきかについて少し確信が持てなくなりました。on click
ボタンイベントを関数の名前にリンクしようとしましたDelete
が、確認メッセージではなく、ユーザーが空白の画面に移動し、レコードが削除されます。
JavaScript コンソールを実行しましたが、エラーは発生していません。続行する方法が少しわかりません。
誰かがこれを見て、どこが間違っているのか教えてください。
多くの感謝と親切な敬意