Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: Adding a pop up confirmation box

by poj (Monsignor)
on Jul 06, 2014 at 06:40 UTC ( #1092434=note: print w/replies, xml ) Need Help??

in reply to Adding a pop up confirmation box

Not perl but try
<form method="post" onsubmit="return confirm('Do you really want to delete?');">

Replies are listed 'Best First'.
Re^2: Adding a pop up confirmation box
by terrykhatri (Acolyte) on Jul 06, 2014 at 08:24 UTC
    Hi Poj, I added it to the code but its now resulting in error:
    # If the form was properly submitted, save the data if ($input{"go"} eq "DELETE") { <form method="post" onsubmit="return confirm('Do you really want to de +lete?');"> $query = "DELETE FROM \"Employees\" WHERE \"EmployeeID\"="." \'$input{empid}\'"; $db_handle -> do($query); $action = "Record saved - $query"; ....
    Error :
    Scalar found where operator expected at line 73, near "$quer +y" (Missing semicolon on previous line?) syntax error at line 73, near "$query "
    If I comment out your code script gets executed, did I put it on a wrong part of the script ? Rgds Terry

      As poj said, this:

      <form method="post" onsubmit="return confirm('Do you really want to de +lete?');">

      isn't Perl. You'd want to put this into your HTML, replacing this line:

      <form method=POST>

      Also see window.confirm on the MDN.

      Another option is to add a step with another form and hidden fields. Refactored it would look something like this.
      #!/usr/local/bin/perl use strict; use CGI; use CGI::Carp 'fatalsToBrowser'; #remove for prod use DBI; # get form parameters my $q = new CGI; my $action = $q->param('go'); my $empid = $q->param('empid'); my $dbh = dbh(); # connect to db $dbh->do("SET search_path to northwind") or die; # If the confirm form was properly submitted, delete the record my $msg; # change validation to suit if ( ($action eq "Confirm Delete") && ($empid =~ /\d+/)) { my $sql = qq! DELETE FROM "Employees" WHERE "EmployeeID" = ? !; my $count = $dbh->do( $sql,undef,$empid ); $msg = "$count Record deleted - $sql, $empid"; } else { $msg = "Please complete form"; } # get employees my $sql = qq!SELECT "EmployeeID" AS empid, "FirstName"::text || ' ' ||"LastName"::text AS name FROM "Employees" !; my $ar = $dbh->selectall_arrayref($sql); # Make up a pulldown menu my $options = qq!<option value="">select name</option>!; for my $row (@$ar) { $options .= qq!<option value="$row->[0]">$row->[1]</option>\n!; } # build html page my $style = q! body { background-color: pink ; color: #3300cc; } .container { width: 500px; clear: both; } .container input { width: 100%; clear: both;} !; # Send out the header and form print $q->header; print $q->start_html(-title=>'Delete an employee record', -style=>{ -code=>$style } ); print qq!<h1 style="color:3300CC">Delete an employee</h1>!; # confirm delete form if ( $action eq "DELETE" ) { print qq!<h3>Are you sure you want to delete $empid ?</h3> <form action="" method="post"> <input type="hidden" name="empid" value="$empid"/> <input type="submit" name="go" value="Confirm Delete"/> <input type="submit" name="go" value="Cancel"/> </form>!; } else { print qq!<div class="container"> Select Employee name to delete : <form method="post" action=""> <select name="empid"> $options </select><br/> <input type="submit" name="go" value="DELETE"/> </form></div><hr/>!; # Standard links to the rest of the application print <<"FOOTER"; <b>$msg</b> <hr/> Jump to - <a href="">View Employees Listing</a><br/> Jump to - <a href="">Add an Employee</a><br/> Jump to - <a href="">Add or update Employee Photo</a><br +/> <hr/> Edited by Terry on July, 06 2014. FOOTER } print $q->end_html; # connect to database sub dbh { my $dsn = 'DBI:Pg:dbname=northwind;host=localhost'; my $user = '***'; my $pwd = '***'; my $dbh = DBI -> connect($dsn,$user,$pwd,{'RaiseError' => 1}); return $dbh; }
        Hi Poj, This is absolutely marvelous, excellent code, works like a charm. Thank you very very much, I do appreciate your kind help all the time. Rgds Terry

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1092434]
and the radiator hisses contentedly...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (5)
As of 2018-04-20 01:27 GMT
Find Nodes?
    Voting Booth?