मेरे PHP पृष्ठ में एक MySQL तालिका डेटाम को हटाने का एक लिंक है। मैं इसे इस तरह से करना चाहता हूं कि जब मैं 'डिलीट' लिंक पर क्लिक करता हूं तो एक पुष्टिकरण बॉक्स प्रकट होना चाहिए और उसे पूछना चाहिए कि "क्या आप निश्चित हैं, आप हटाना चाहते हैं?", दो बटनों के साथ: 'हाँ' और 'नहीं' । जब मैं हाँ पर क्लिक करता हूं, तो मैं MySQL तालिका के डेटा को हटाना चाहता हूं और जब मैं नहीं क्लिक करता, तो कुछ भी नहीं होना चाहिए।PHP: हाँ/कोई पुष्टि संवाद दिखाएँ
उत्तर
<a href="http://stackoverflow.com"
onclick="return confirm('Are you sure?');">My Link</a>
आप संकेत देने के लिए JavaScript का उपयोग कर सकते हैं:
इस यहाँ मिले - Example
<script>
function confirmDelete(delUrl) {
if (confirm("Are you sure you want to delete")) {
document.location = delUrl;
}
}
</script>
<a href="javascript:confirmDelete('delete.page?id=1')">Delete</a>
एक और तरीका है
<a href="delete.page?id=1" onclick="return confirm('Are you sure you want to delete?')">Delete</a>
चेतावनी: यह जावास्क्रिप्ट बंद नहीं होगा हटाए जाने से रिकॉर्ड अगर वे सिर्फ एन अंतिम url करने के लिए avigate - अपने ब्राउज़र में delete.page?id=1
ऐसा करने php.for उदाहरण GTKDialogs अंदर एक संवाद प्रणाली का उपयोग किया जाएगा पीएचपी रास्ता: http://www.kksou.com/php-gtk2/articles/setup-a-dialog-box---Part-2---simple-yes-no-dialog.php javacript तरह से शायद थोड़ा आसान है , लेकिन याद रखें जब जावास्क्रिप्ट बंद हो जाता है, यह काम नहीं करता है (सिवाय इसके कि यदि आप सक्षम होने के लिए जावास्क्रिप्ट को चेक करते हैं और फिर इसे जोड़ें !?) यह एक ऑनक्लिक हैंडलर के साथ हो सकता है जैसे tsvanharen पोस्ट किया गया है, या पृष्ठ के अंदर एक साधारण पाठ संवाद के साथ एक नाराज पॉपअप के बजाय।
<a onClick="$('deletefromtable').show();"></a>
<div id="deletefromtable" style="display:none;">
Do you really want to do this?<br/>
<a href="deleteit.php">Yes</a>|<a onClick="$('deletefromtable').hide();">No</a>
</div>
मैं प्रोटोटाइप (इसलिए $() टैग और शो()/छुपा()) का उपयोग करता हूं। लेकिन आप प्रोटोटाइप के बिना इसे आसानी से काम में बदल सकते हैं:
<a onClick='document.getElementById("deletefromtable").style.display = "block";' href="#">click here to delete</a>
<div id="deletefromtable" style="display:none;">
Do you really want to do this?<br/>
<a href="deleteit.php">Yes</a>|<a onClick='document.getElementById("deletefromtable").style.display = "none";' href="#">No</a>
</div>
फिर, यह जावास्क्रिप्ट के बिना काम नहीं करता है, लेकिन लगभग कोई विकल्प नहीं करता है।
भले ही phpgtk सर्वर पर स्थापित किया गया था (जो बकवास है, क्योंकि इसे एक ग्राफिकल इंटरफ़ेस की आवश्यकता होती है, जो कभी भी लिनक्स चलाने वाले वेब सर्वर पर स्थापित नहीं होती है), यह सर्वर पर उस संवाद बॉक्स को खोल देगा, न कि ब्राउज़र के अंदर और न ही उपयोगकर्ता की मशीन: आप सर्वर से नहीं कर सकते हैं, क्लाइंट –
आपको इस तरह की पुष्टि करने के लिए हमेशा एक फॉर्म/पोस्ट बटन का उपयोग करना चाहिए। कभी जावास्क्रिप्ट पर भरोसा न करें। समझने के लिए this पढ़ें!
पर एक जीटीके विंडो खोलें एक पुष्टिकरण संवाद में आपकी कहानी में समस्या से कोई लेना देना नहीं है। एक पुष्टिकरण संवाद एक उपयोगिता सुविधा है जो उपयोगकर्ता को दुर्घटना से हटाए गए बटन पर क्लिक करने से रोकने के लिए है। आपके लिंक में उन्होंने प्रमाणीकरण के लिए जावास्क्रिप्ट का उपयोग किया जो वास्तव में करने के लिए एक बेवकूफ चीज है .. –
यदि आप कुछ हटा रहे हैं, तो आपको हमेशा POST का उपयोग करना चाहिए और प्राप्त नहीं करना चाहिए, इसलिए पुष्टि() का उपयोग करना एक बुरा विचार है। मैं आपकी स्थिति में जो करता हूं वह jqModal जैसे मोडल पॉपअप का उपयोग करता है और पॉपअप के अंदर हां/नहीं बटन के साथ एक फॉर्म प्रदर्शित करता है।
'पुष्टि()' आपको POST का उपयोग करने से कैसे रोकता है? –
मैं आमतौर पर जो करता हूं वह एक डिलीट पेज बनाता है जो एक अनुरोध फ़ॉर्म दिखाता है यदि अनुरोध विधि "प्राप्त करें" है और विधि "POST" है और उपयोगकर्ता ने "हां" विकल्प चुना है तो डेटा हटा देता है।
फिर, हटाए गए लिंक वाले पृष्ठ में, मैं एक ऑनक्लिक फ़ंक्शन जोड़ता हूं (या केवल jQuery confirm plugin का उपयोग करें) जो पुष्टि पृष्ठ को छोड़कर लिंक पर पोस्ट करने के लिए AJAX का उपयोग करता है।
हटाएँ:
यहाँ छद्म कोड में विचार है।php:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if ($_POST['confirm'] == 'Yes') {
delete_record($_REQUEST['id']); // From GET or POST variables
}
redirect($_POST['referer']);
}
?>
<form action="delete.php" method="post">
Are you sure?
<input type="submit" name="confirm" value="Yes">
<input type="submit" name="confirm" value="No">
<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>">
<input type="hidden" name="referer" value="<?php echo $_SERVER['HTTP_REFERER']; ?>">
</form>
हटाने के लिंक के साथ पृष्ठ:
<script>
function confirmDelete(link) {
if (confirm("Are you sure?")) {
doAjax(link.href, "POST"); // doAjax needs to send the "confirm" field
}
return false;
}
</script>
<a href="delete.php?id=1234" onclick="return confirmDelete(this);">Delete record</a>
<input name="_delete_" type="submit" value="Delete" onclick="return confirm('Are you sure?')">
यह अभी तक का सबसे आसान जवाब है, धन्यवाद। –
onclick="return confirm('Log Out?')? window.open('?user=logout','_self'): void(0);"
इस स्क्रिप्ट किया और बाद में मैं मुझे जाना भी इंटरनेट की जाँच tought।
हां यह एक पुराना खतरा है, लेकिन ऐसा लगता है कि ऐसा कोई भी संस्करण नहीं है जिसे मैंने सोचा था कि मैं योगदान दूंगा।
सबसे आसान & किसी भी तत्व या फ़ील्ड के साथ सभी ब्राउज़रों पर सबसे आसान तरीका काम करता है।
आप को चलाने के लिए किसी भी अन्य आदेश के लिए window.open
बदल सकते हैं जब पुष्टि TRUE
है, void(0)
के साथ एक ही है, तो रचना NULL
या रद्द कर दिया है।
मुझे मिला सबसे अच्छा तरीका यहां है।
एचटीएमएल कोड
<a href="delete.cfm" onclick="return confirm('Are you sure you want to delete?');">Delete</a>
इसे जोड़ें हेड भाग
$(document).ready(function() {
$('a[data-confirm]').click(function(ev) {
var href = $(this).attr('href');
if (!$('#dataConfirmModal').length) {
$('body').append('<div id="dataConfirmModal" class="modal" role="dialog" aria-labelledby="dataConfirmLabel" aria-hidden="true"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button><h3 id="dataConfirmLabel">Please Confirm</h3></div><div class="modal-body"></div><div class="modal-footer"><button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button><a class="btn btn-primary" id="dataConfirmOK">OK</a></div></div>');
}
$('#dataConfirmModal').find('.modal-body').text($(this).attr('data-confirm'));
$('#dataConfirmOK').attr('href', href);
$('#dataConfirmModal').modal({show:true});
return false;
});
});
आप इस काम करने के लिए jQuery और बूटस्ट्रैप जोड़ना चाहिए करने के लिए।
<input type="submit" name="submit" value="submit" onclick="return confirm('Are you sure?');"/>
आप बटन पर भी यह कार्रवाई कर सकते हैं!
- 1. दिखाएँ चरखा संवाद एंड्रॉयड
- 2. JQuery की पुष्टि संवाद
- 3. जावास्क्रिप्ट पुष्टि संवाद
- 4. बूटबॉक्स संवाद समस्याओं की पुष्टि
- 5. mvc ajax.actionlink jquery संवाद के साथ पुष्टि
- 6. जावास्क्रिप्ट पुष्टि संवाद में कस्टम विकल्प
- 7. निकट ब्राउज़र विंडो से पहले जावास्क्रिप्ट पुष्टि संवाद बॉक्स
- 8. पुष्टि
- 9. जावास्क्रिप्ट - कस्टम संवाद की पुष्टि करें - जे एस की जगह इस बात की पुष्टि
- 10. उपयोग जावास्क्रिप्ट पृष्ठभूमि में एक PHP कॉल करने के लिए संवाद की पुष्टि
- 11. पुष्टि के लिए मैं jQueryUI संवाद का उपयोग कैसे करूं?
- 12. सिल्वरलाइट थ्रेड को रोकने के लिए संवाद की पुष्टि करें
- 13. MATLAB: इनपुट-संवाद की पुष्टि करने के लिए दर्ज करें?
- 14. प्राइमफेस की पुष्टि तुरंत संवाद गायब हो जाती है
- 15. क्या विंडोज़ फॉर्म में एक अंतर्निहित पुष्टि संवाद है?
- 16. जॉप्शनपेन हाँ/कोई विकल्प संवाद बॉक्स समस्या की पुष्टि
- 17. दिखाएँ/jQuery
- 18. दिखाएँ ncrunch
- 19. टूलटिप दिखाएँ
- 20. चेतावनी दिखाएँ
- 21. पुष्टि jQuery घटना
- 22. ListView शीर्षलेख दिखाएँ
- 23. QDockWidget दिखाएँ/छुपाएं?
- 24. ubuntu दिखाएँ (लिनक्स) क्यूटी
- 25. jqPlot: दिखाएँ दशमलव स्थान
- 26. भूखंडों दिखाएँ मेथेमेटिका
- 27. पिछले खंड दिखाएँ
- 28. JQuery दर्शनीय दिखाएँ
- 29. अनुकूलित ActiveAdmin दिखाएँ पृष्ठ
- 30. दिखाएँ पॉपअप मेनू क्लिक
आपकी समस्या कहां है? – Bombe
संकेत: शीर्षलेख <बॉडी कृपया –