Ich arbeite mit einem Skript, in dem ich ein Formular ohne Seitenaktualisierung mit Hilfe von AJAX senden sollte. Das Problem besteht darin, dass das Formular nicht an die Datenbank gesendet wird. Jede Hilfe wäre willkommen. Ich hatte mich mit den Codes beschäftigt, aber nichts funktioniert für mich.AJAX nicht einreichen
Hier wird der JavaScript-Code ist:
<script type="text/javascript">
setInterval(function() {
$('#frame').load('chatitems.php');
}, 1);
$(function() {
$(".submit_button").click(function() {
var textcontent = $("#content").val();
var usercontent = $("#username").val();
var namecontent = $("#nickname").val();
var dataString = 'content=' + textcontent;
var userString = 'content=' + usercontent;
var nameString = 'content=' + namecontent;
if (textcontent == '') {
alert("Enter some text..");
$("#content").focus();
} else {
$("#flash").show();
$("#flash").fadeIn(400).html('<span class="load">Loading..</span>');
$.ajax({
type: "POST",
url: "chatitems.php",
data: {
dataString,
userString,
nameString
},
cache: true,
success: function(html) {
$("#show").after(html);
document.getElementById('content').value = '';
$("#flash").hide();
$("#frame").focus();
}
});
}
return false;
});
});
</script>
dies meine Form ist:
<form action="" method="post" name="form">
<input type="hidden" class="form-control" id="username" name="username" value="<?php echo $username; ?>" readOnly />
<input type="hidden" class="form-control" id="nickname" name="nickname" value="<?php echo $nickname; ?>" readOnly />
<input type="hidden" class="form-control" id="chat_role" name="chat_role" value="<?php echo $pm_chat; ?>" readOnly />
<input type="hidden" class="form-control" id="team" name="team" value="<?php echo $manager; ?>'s Team" readOnly />
<input type="hidden" class="form-control" id="avatar" name="avatar" value="<?php echo $avatar; ?>" readOnly />
<div class="input-group">
<input type="text" class="form-control" id="content" name="content" />
<span class="input-group-btn">
<input type="submit" name="submit" class="submit_button btn btn-primary" value="Post"></input>
</span>
</div>
</form>
und schließlich ist das mein PHP-Code:
<?php
include('db.php');
$check = mysql_query("SELECT * FROM chat order by date desc");
if(isset($_POST['content']))
{
$content=mysql_real_escape_string($_POST['content']);
$nickname=mysql_real_escape_string($_POST['nickname']);
$username=mysql_real_escape_string($_POST['username']);
$ip=mysql_real_escape_string($_SERVER['REMOTE_ADDR']);
mysql_query("insert into chat(message,ip,username,nickname) values ('$content','$ip','$username','$nickname')");
}
$req = mysql_query('select * from chat ORDER BY date desc');
while($dnn = mysql_fetch_array($req))
{
?>
<div class="showbox">
<p><?php echo $dnn['username']; ?> (<?php echo $dnn['ip']; ?>): <?php echo $dnn['message']; ?></p>
</div>
<?php
}
?>
Ich weiß, es ist etwas, falsch mit meinem Code irgendwo, aber hatte schon einige Tage, aber ohne Erfolg. Ich hoffe, dass jemand helfen würde.
UPDATE Das Formular mit diesem Code wurde erfolgreich abgegeben nur data: dataString
wird, aber wenn ich die nameString
und die userString
das ist, wenn alles nicht funktioniert, wie es sollte hinzugefügt. Ich habe versucht, diesen Code zu durchforsten, aber ich habe immer noch nichts.
Diese 'Daten: {DataString, UserString, NameString}' ist ein Problem. Sie wollen entweder ein Array oder ein Objekt, in diesem Fall ist das Format falsch – Guillaume
Ich habe auch versucht, Daten: {DataString, Benutzername = "Benutzername", Nickname = "Spitzname"} 'aber immer noch nicht funktioniert. Hast du die Codes korrigiert, die ich ausprobieren kann? – crozland23
was ich meine ist, sollten Sie Array-Notation wie folgt verwenden: 'Daten: [DataString, UserString, NameString]' – Guillaume