В принципе, после нажатия кнопки «Отправить» я хочу, чтобы всплывающее окно всплывало с сообщением «Успешно» или «Ошибка», затем нажмите «ОК», чтобы подтвердить сообщение. На данный момент я получаю всплывающее окно «undefined», за которым следует всплывающее окно с неудачным сообщением. ПОМОГИ ПОЖАЛУЙСТА!
вот сценарий
<?php include ('config.php'); if (isset($_POST['name'])) { $name = "name"; $query = "INSERT INTO pop ('id','name') VALUES ('','$name')"; $result = mysql_query($query,$cn); if ($result) { echo "<script type='text/javascript'>alert('submitted successfully!')</script>"; } else { echo "<script type='text/javascript'>alert('failed!')</script>"; } } ?> <html> <head> </head> <body> <form action="" method="post"> Name:<input type="text" id="name" name="name"/> <input type="submit" value="submit" name="submit" onclick="alert();"/> </form> </body>
Вы эхом отзываетесь вне тега тела вашего HTML. Поместите там свое эхо, и все будет хорошо.
Кроме того, удалите onclick="alert()"
из вашего сообщения. Это является причиной для вашего первого undefined
сообщения.
<?php $posted = false; if( $_POST ) { $posted = true; // Database stuff here... // $result = mysql_query( ... ) $result = $_POST['name'] == "danny"; // Dummy result } ?> <html> <head></head> <body> <?php if( $posted ) { if( $result ) echo "<script type='text/javascript'>alert('submitted successfully!')</script>"; else echo "<script type='text/javascript'>alert('failed!')</script>"; } ?> <form action="" method="post"> Name:<input type="text" id="name" name="name"/> <input type="submit" value="submit" name="submit"/> </form> </body> </html>
Вместо того, чтобы использовать кнопку отправки, попробуйте использовать <button type="button">Submit</button>
Затем вы можете вызвать функцию javascript в кнопке, и после того, как всплывающее окно оповещения подтвердится, вы можете вручную отправить форму с помощью document.getElementById («form»). Submit (); … поэтому вам нужно будет назвать и указать свою форму для этого.