Tôi có một hàm JavaScript như sau:Nút Hủy Nhắc Hộp Nháp JavaScript?
function popup(username) {
var req = createAjaxObject();
var message = prompt("Message:","");
if(message != ""){
req.onreadystatechange = function() {
if (req.readyState == 4) {
alert(req.responseText);
}
}
req.open('POST','getmessage.php',true);
req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
req.send("username=" + username +"&message="+message);
} else {
alert("Please enter a message");
}
}
Khi nút Cancel
là hit, hình thức vẫn được xử lý qua getmessage.php
. Bất kỳ cách nào để có nút Cancel
không làm gì?
EDIT:
Dưới đây là cách chức năng này được gọi là:
<?php
mysqlLogin();
$username = $_COOKIE['sqlusername'];
$sql = mysql_query("SELECT username FROM `users` WHERE username!='$username'");
if(mysql_num_rows($sql) != 0) {
echo "<table class='usertable' align='center'>";
while($row = mysql_fetch_array($sql)){
$username = $row['username'];
echo "<tr><td><center>" . $row['username'] . "</center></td><td> <a href='#' onClick=\"popup('$username');\">Send Message</a></td></tr>";
}
echo "</table>";
} else {
echo "<center>No users found!</center>";
}
?>
Các PHP
kịch bản liên kết của nó để:
<?php
$id = rand(1,1500);
$poster = $_POST['username'];
$message = $_POST['message'];
$to = $_COOKIE['sqlusername'];
require('functions.php');
mysqlLogin();
$sql = mysql_query("INSERT INTO `messages` VALUES ('$id','$message','$to','$poster','')");
if($sql){
echo "Message sent!";
} else {
echo "Woops! Something went wrong.";
}
?>
Không may mắn, nó vẫn được đăng lên cơ sở dữ liệu. – Jason
@ Jason: Fiddle này có phù hợp với bạn không? http://jsfiddle.net/pimvdb/bmxFH/ – pimvdb
Hãy thử 'if (message)' một lần nữa và xem cách bạn truy cập –