Php 在不重新加载页面的情况下提交表单
我知道有很多这样的问题,但我还是不能让它正常工作。即使是我应该做些什么来纠正这一点的评论也已经足够了,因为我对jQuery的理解率高达80%Php 在不重新加载页面的情况下提交表单,php,jquery,html,forms,Php,Jquery,Html,Forms,我知道有很多这样的问题,但我还是不能让它正常工作。即使是我应该做些什么来纠正这一点的评论也已经足够了,因为我对jQuery的理解率高达80% <form action="meddelanden.php" id="fromen2" method="post"> <input type="text" name="message" id="type" autocomplete="off" placeholder="type your chat message">
<form action="meddelanden.php" id="fromen2" method="post">
<input type="text" name="message" id="type" autocomplete="off" placeholder="type your chat message">
<input class="lg" type="submit" name="submit" value="Send">
</form>
Meddelanden.php
<?php
session_start();
$meddelanden = $_POST['message'];
$username = $_SESSION['user'];
include ("connect.php");
$sql = $con->prepare('INSERT INTO messages (message,username) VALUES (?,?)');
$sql->bind_param("ss",$meddelanden,$username);
$sql->execute();
$sql->close();
$con->close();
?>
脚本(把我的头脑搞得一团糟)
$('#fromen2')。提交(函数(){
$.ajax({
键入:“POST”,
url:meddelanded.php,
数据:{
user:username,//只需使用jQueryserialize序列化表单数据即可:
$('#fromen2').submit(function(){
$.ajax({
type: 'POST',
url: meddelanded.php,
data: $(this).serialize()
success: function(msg){
alert('Message Sent');
}
});
return false;
})
尝试类似的方法。不过,您可能需要稍微处理一下。当您按下提交按钮时,我首先阻止表单自动提交,然后我使用用户在消息中输入的值,并在数据中输入messageInput
的值。希望这有帮助
$('#fromen2').submit(function(e){
e.preventDefault();
var userMessage = $('#messageInput').val();
$.ajax({
type: 'POST',
url: meddelanded.php,
data: {
//You dont need to send user data becaues you are setting the user variable with $_SESSION in php file
message: userMessage
},
success: function(msg){
alert('Message Sent');
}
});
return false;
});
HTML
HTML
尝试将变量$meddelanden和$username直接放入值(“$meddelanden”,“$username”)中,省去bind_param()@Britransmish no然后可以进行mysql注入您需要更改您的按钮,以便它不会在单击后提交:
,然后将您的ajax连接到它的单击事件。我该怎么做?@freedomn musee.preventDefault()
位于函数顶部。这对我来说不起作用。表单在提交后仍将指向meddelanded.php。请确保在表单元素已在DOM中时添加javascript代码。您可以添加console.log(此)
在submit callback中,检查在单击submit按钮时是否执行了此代码。例如,如果您将此js代码放在头部,则它将不起作用Nope not work,即使我更正了url输入错误,消息也不会被提交
$('#fromen2').submit(function(e){
e.preventDefault();
var userMessage = $('#messageInput').val();
$.ajax({
type: 'POST',
url: meddelanded.php,
data: {
//You dont need to send user data becaues you are setting the user variable with $_SESSION in php file
message: userMessage
},
success: function(msg){
alert('Message Sent');
}
});
return false;
});
<form id="fromen2" method="post">
<input type="text" id = "messageInput" autocomplete="off" placeholder="type your chat message">
<input class = "lg" type="submit" name="submit" value="Send">
</form>
$('#submitButton').on('click', function(e){
e.preventDefault();
var userMessage = $('#messageInput').val();
$.ajax({
type: 'POST',
url: meddelanded.php,
data: {
//You dont need to send user data becaues you are setting the user variable with $_SESSION in php file
message: userMessage
},
success: function(msg){
alert('Message Sent');
}
});
});
<form id="fromen2">
<input type="text" id = "messageInput" autocomplete="off" placeholder="type your chat message">
<input class = "lg" id="submitButton" name="submit" value="Send">
</form>