04. juni 2017 - 16:05
Der er
11 kommentarer og 1 løsning
Start af function()
Jeg har fundet en Pop up Msg på nettet, som jeg gerne vil bruge på min php-side. Hvorledes starter jeg funktionen, så den automatisk kører når min Mysqli query er godkendt. Jeg har uploaded de to .js filer til sitet. Jeg skal sikkert sætte noget andet ind end .on(click) index.php har bl.a.: <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script>window.jQuery || document.write('<script src="jquery.min.js"><\/script>')</script> <script src="jquery.rustaMsgBox.js"></script> <script type="text/javascript"> $(document).ready(function() { /* Basic */ $('#show-info-message').on('click', function(){ $.rustaMsgBox({ "content" : "hi I'm the rusta message box" }); }); }); // end document.ready </script> dataudtrækssiden.php har bl.a.: if (mysqli_query($mysqli, $sql)) {?> $.rustaMsgBox({ "succes" : "Opdateret.."}); <?php }
Annonceindlæg fra Kingston Technology
Hvordan kører du din kode? Ajax eller?
Ren HMTL / PHP (som du nok kan se/forstå så er jeg på dybt vand her. Har ledt efter et script, som jeg bare kunne copy/paste ind - dette var det nærmeste jeg kunne komme)
Er Ajax ikke noget man propper i toilettet?
@Carnac jeg er med på sjove bemærkninger når jeg har fået hjælp til mit problem. Hvis du har et mere konstruktivt indlæg/link så post gerne :-/
Ud fra ovenstående kode er det umuligt at sige hvad der går galt.
@keysersoze:ok, tak. hele demoen ser således ud. Jeg skal bare bruge en af kasserne, som så skal hentes automatisk når min Mysqli query er kommet ud. Håber det giver mere mening. I denne demo genereres knapper, som der trykkes på for at boksen kommer frem. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title></title> <meta name="description" content=""> <style type="text/css"> .custom-msgBox { padding: 8px 35px 8px 14px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -moz-box-shadow: 10px 10px 5px rgba(0,0,0,0.4); -webkit-box-shadow: 10px 10px 5px rgba(0,0,0,0.4); box-shadow: 10px 10px 5px rgba(0,0,0,0.4); background-color: #F5FFFF; color: blue; border: 1px solid red; position: relative; width: 80%; max-width: 500px; margin: 0 auto; } </style> </head> <body> Fade Out <p> <button id="show-info-message">Info Message</button> <button id="show-warning-message">Warning Message</button> <button id="show-success-message">Success Message</button> <button id="show-error-message">Error Message</button> <button id="show-custom-message">Custom Style Message</button> <p> No Fade <p> <button id="show-info-message-2">Info Message</button> <button id="show-warning-message-2">Warning Message</button> <button id="show-success-message-2">Success Message</button> <button id="show-error-message-2">Error Message</button> <button id="show-custom-message-2">Custom Style Message</button> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script>window.jQuery || document.write('<script src="jquery.min.js"><\/script>')</script> <script src="jquery.rustaMsgBox.js"></script> <script type="text/javascript"> $(document).ready(function() { /* Basic */ $('#show-info-message').on('click', function(){ $.rustaMsgBox({ "content" : "hi I'm the rusta message box" }); }); $('#show-warning-message').on('click', function(){ $.rustaMsgBox({ 'mode' : 'warning' }); }); $('#show-success-message').on('click', function(){ $.rustaMsgBox({ 'mode' : 'success' }); }); $('#show-error-message').on('click', function(){ $.rustaMsgBox({ 'mode' : 'error' }); }); $('#show-custom-message').on('click', function(){ $.rustaMsgBox({ 'customClass' : 'custom-msgBox' }); }); /* No Fade */ $('#show-info-message-2').on('click', function(){ $.rustaMsgBox({ 'mode' : 'info' , 'fadeOut': false }); }); $('#show-warning-message-2').on('click', function(){ $.rustaMsgBox({ 'mode' : 'warning' , 'fadeOut': false }); }); $('#show-success-message-2').on('click', function(){ $.rustaMsgBox({ 'mode' : 'success' , 'fadeOut': false }); }); $('#show-error-message-2').on('click', function(){ $.rustaMsgBox({ 'mode' : 'error' , 'fadeOut': false }); }); $('#show-custom-message-2').on('click', function(){ $.rustaMsgBox({ 'customClass' : 'custom-msgBox' , 'fadeOut': false }); }); }); // end document.ready </script> </body> </html>
Der er for så vidt ikke noget magi i det - php, og dermed også dit mysql, kører på serveren og når det er færdigt outputtes den klient-kode, heriblandt JavaScript, til browseren, så alt du behøver af kode er $(document).ready(function() { $.rustaMsgBox({ "succes" : "Opdateret.."}); }); nederst i dit dokument, selvfølgelig med de samme referencer til jquery og rustaMsgBox som ellers.
Nu står alt dette i starten af min side, hvor mit sql køres. Den opdaterer korrekt (som den har gjort hele tiden) men der kommer ikke noget svar fra scriptet. SUK <html> <head> <style type="text/css"> .custom-msgBox { padding: 8px 35px 8px 14px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -moz-box-shadow: 10px 10px 5px rgba(0,0,0,0.4); -webkit-box-shadow: 10px 10px 5px rgba(0,0,0,0.4); box-shadow: 10px 10px 5px rgba(0,0,0,0.4); background-color: #F5FFFF; color: blue; border: 1px solid red; position: relative; width: 80%; max-width: 500px; margin: 0 auto; } </style> </head> <body> <?php // EDIT i DB if (isset($_GET['update'])){ $id = $_POST['id']; $ny_telefon1 = str_replace(' ', '',$_POST['ny_telefon1']); $ny_telefon2 = str_replace(' ', '', $_POST['ny_telefon2']); $ny_kommentar = $_POST['ny_kommentar']; $sql = "UPDATE telefon SET telefon1 = '$ny_telefon1', telefon2 = '$ny_telefon2', kommentar = '$ny_kommentar' WHERE id = '$id'"; if (mysqli_query($mysqli, $sql)) {?> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script>window.jQuery || document.write('<script src="jquery.min.js"><\/script>')</script> <script src="jquery.rustaMsgBox.js"></script><script type="text/javascript"> $(document).ready(function() { $.rustaMsgBox({ "succes" : "Opdateret.."}); }); // end document.ready </script> <?php //tidligere stod der: echo "Opdateret<br><br>"; } else { echo "Error: " . mysqli_error($mysqli)."<br><br>"; } }
Kig i din developer toolbar og se om der kommer en fejl. Kender ikke til rustaMsgBox, men i din demo har du ikke noget eksempel med de parametre du angiver - det ser ud som om den understøtter fx content, mode og customClass men du angiver succes og du kan ikke selv opfinde parametre. Derudover bør du nok kigge på prepared statements til din sql.
04. juni 2017 - 18:37
#10
Kører det desværre online via one.com.... Fik flg: $.rustaMsgBox({ "succes" : "Opdateret.."}); rettet til: $.rustaMsgBox({ 'mode' : 'success' }); stadig ingenting..... rustaMsgBox js fil: (function ( $ ) { $.rustaMsgBox = function(options) { // set default options var settings = $.extend({ closeButton: false, fadeOut: true, fadeTimer: 1500, content: 'Add some content here...', zindex: 3022, width: '70%', maxWidth: '300px', mode: 'info', /* warning, success, error, info */ bottom: '-90px', stack: true, opacity: 0.9 }, options ); // if fadeOut is false then we need to show the closeButton if (!settings.fadeOut){ settings.closeButton = true; } // styles for the delivered modes if ( settings.mode == 'warning' ) { settings.backgroundColor = '#fcf8e3'; settings.border = '1px solid #fbeed5'; settings.color = '#c09853'; } else if ( settings.mode == 'success' ) { settings.backgroundColor = '#dff0d8'; settings.border = '1px solid #d6e9c6'; settings.color = '#468847'; } else if ( settings.mode == 'error' ) { settings.backgroundColor = '#f2dede'; settings.border = '1px solid #eed3d7'; settings.color = '#b94a48'; } else if ( settings.mode == 'info' ) { settings.backgroundColor = '#d9edf7'; settings.border = '1px solid #bce8f1'; settings.color = '#3a87ad'; } // create a unique ID for this message box var randomNumber = (((1+Math.random())*0x10000)|0).toString(16).substring(1); var currentDateTime = new Date(); currentDateTime = String(currentDateTime.getDate()) + String(currentDateTime.getMonth() +1) + String(currentDateTime.getFullYear()) + String(currentDateTime.getHours()) + String(currentDateTime.getMinutes()) + String(currentDateTime.getSeconds()) + String(currentDateTime.getMilliseconds()); var msgBoxId = 'rusta-msgBox' + '_' + randomNumber + '_' + currentDateTime; $('<div/>', { id: msgBoxId, css: { 'margin': '0px', 'z-index': settings.zindex, 'position': 'fixed', 'bottom': settings.bottom, 'width': '100%', 'left': '0px', 'opacity': settings.opacity } }).appendTo('body'); if (settings.customClass) { $('<div/>', { html: settings.content, addClass: 'rusta-msgBox ' + settings.customClass }).appendTo('#'+msgBoxId); } else { var padding, textAlign; if (settings.closeButton) { padding = '8px 35px 8px 14px'; textAlign = 'left'; } else { padding = '8px 14px 8px 14px'; textAlign = 'center'; } $('<div/>', { html: settings.content, addClass: 'rusta-msgBox', css: { 'padding': padding, 'text-align': textAlign, 'text-shadow': '0 1px 0 rgba(255, 255, 255, 0.5)', '-webkit-border-radius': '4px', '-moz-border-radius': '4px', 'border-radius': '4px', '-moz-box-shadow': '10px 10px 5px rgba(0,0,0,0.4)', '-webkit-box-shadow': '10px 10px 5px rgba(0,0,0,0.4)', 'box-shadow': '10px 10px 5px rgba(0,0,0,0.4)', 'background-color': settings.backgroundColor, 'color': settings.color, 'border': settings.border, 'position': 'relative', 'width': settings.width, 'max-width': settings.maxWidth, 'margin': '0 auto' } }).appendTo('#'+msgBoxId); } if (settings.closeButton) { // add close button $('<button/>', { html: 'x', addClass: 'rusta-msgBox-close', css: { 'position': 'absolute', 'right': '8px', 'top': '2px', 'line-height': '20px', 'padding': '0', 'cursor': 'pointer', 'background': 'transparent', 'border': '0', '-webkit-appearance': 'none', 'float': 'right', 'font-size': '16px', 'font-weight': 'bold', 'line-height': '20px', 'color': '#000000', 'text-shadow': '0 1px 0 #ffffff', 'opacity': '0.2', 'filter': 'alpha(opacity=20)' }, data: { 'rusta-msg-box': msgBoxId } }).appendTo('#'+msgBoxId + ' .rusta-msgBox'); // add close button click functionality $('#' + msgBoxId + ' .rusta-msgBox-close').on('click', function(){ var thisMsgBoxId = $(this).data('rusta-msg-box'); $('#' + thisMsgBoxId).fadeOut(400, function(){ $('#' + thisMsgBoxId).remove(); }); }); } // end close button block // animate message box on to screen $('#' + msgBoxId).animate({ "bottom": 20 + (parseInt(settings.stack?1:0) * parseInt($(".rusta-msgBox").length - 1))*50 }, 600); // fade out after set amount of time if (settings.fadeOut) { setTimeout(function(){ $('#' + msgBoxId).fadeOut(400, function(){ $('#' + msgBoxId).remove(); }); }, settings.fadeTimer) } } }( jQuery ));
04. juni 2017 - 19:02
#11
05. juni 2017 - 13:21
#12
@keysersoze jeg fandt fejlen. I min iver havde jeg sat er ´i stedet for et ' i en setting i scriptet. Mange tak for hjælpen med 'onload' isf onclick
Vi tilbyder markedets bedste kurser inden for webudvikling