Javascript php ajax表单动态提交
我不知道websocketforchat,我想使用phpajax进行表单提交聊天 我想在不重新加载的情况下动态地sumbit表单,但它得到了重新加载(我不想要)。 我创建了一个聊天室,php将信息发送到xml,并显示所有xml信息,当用户提交下面的表单时Javascript php ajax表单动态提交,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我不知道websocketforchat,我想使用phpajax进行表单提交聊天 我想在不重新加载的情况下动态地sumbit表单,但它得到了重新加载(我不想要)。 我创建了一个聊天室,php将信息发送到xml,并显示所有xml信息,当用户提交下面的表单时 <form action="action.php" method="post" id="formpost"> <input type="text" id="input" value="php echo"> <
<form action="action.php" method="post" id="formpost">
<input type="text" id="input" value="php echo">
<input type="submit" value="send">
</form>
$("#formpost").on('submit', function(event) { event.preventDefault(); var form = $(this); var url = form.attr('action'); $.ajax({ type: "POST", url: "club.php", data: form.serialize() // serializes the form's elements. }).done(function(data) { var msg = $(data).find('#msg').html(); alert(msg); }); });
这里有许多可能的问题- 首先,确保在运行jQuery脚本之前已加载DOM(HTML)。实现这一点的一种方法是将当前jQuery逻辑放在中,如下所示。这保证了在运行表单/ajax设置逻辑之前,DOM将被加载并可供访问$(function(){..})
也可以考虑使用jQuery提供的<代码> < /Cord>元素,使用更多的声明性方法。此外,jQuery允许您从提交处理程序函数返回
,以防止页面重新加载:false
// You may need to wrap your form logic in a jquery context, in case the // script is run before your page DOM has loaded $(function() { // also consider using the more declarative submit() method that is available // on forms $("#formpost").submit(function() { $.ajax({ type: "POST", url: "club.php", data: $(this).serialize(), success: function(data) { alert(data); // show response from the php script. } }); return false; // Prevent the form submit from reloading the page }); })
这里有许多可能的问题- 首先,确保在运行jQuery脚本之前已加载DOM(HTML)。实现这一点的一种方法是将当前jQuery逻辑放在中,如下所示。这保证了在运行表单/ajax设置逻辑之前,DOM将被加载并可供访问$(function(){..})
也可以考虑使用jQuery提供的<代码> < /Cord>元素,使用更多的声明性方法。此外,jQuery允许您从提交处理程序函数返回
,以防止页面重新加载:false
// You may need to wrap your form logic in a jquery context, in case the // script is run before your page DOM has loaded $(function() { // also consider using the more declarative submit() method that is available // on forms $("#formpost").submit(function() { $.ajax({ type: "POST", url: "club.php", data: $(this).serialize(), success: function(data) { alert(data); // show response from the php script. } }); return false; // Prevent the form submit from reloading the page }); })
也许我已经理解了你的问题:D
$(函数(){
$(“#formpost”).submit(函数(事件){
event.preventDefault();
变量形式=$(此);
var url=form.attr('action');
$.ajax({
类型:“POST”,
url:url,
data:form.serialize()//序列化表单的元素。
}).完成(功能(数据){
var msg=$(数据).find('#msg').text();
警报(msg);
});
});
});
也许我理解了你的问题:D
$(函数(){
$(“#formpost”).submit(函数(事件){
event.preventDefault();
变量形式=$(此);
var url=form.attr('action');
$.ajax({
类型:“POST”,
url:url,
data:form.serialize()//序列化表单的元素。
}).完成(功能(数据){
var msg=$(数据).find('#msg').text();
警报(msg);
});
});
});
脚本位于何处?(在html之后或之前?)为什么不将其包装在$(文档)中。就绪(
?@Jeff即使在文档之后也不工作。就绪脚本位于何处?(在html之后或之前?)为什么不将其包装在$(文档)中。就绪(
?@Jeff即使在document.ready之后也不工作此操作仍然无法显示警报(数据)和页面重新加载后的帖子脚本位于最后一个HTML中此操作仍然无法显示警报(数据)在页面重新加载脚本位于HTMLEAH的最后一个页面后,我必须再次刷新页面。可能是php需要重新加载页面。我认为重新加载页面取决于客户端(前端)。服务器只是呈现数据(HTML或JSON,XML…)当使用ajax时,它不需要重新加载页面。那么为什么这不起作用呢?在你的代码之前,有一个警报出现在正文中,但现在没有了。只需重新加载页面,消息就会显示出来…我如何发送消息你有什么选择吗?啊,我必须再次刷新页面。可能是php需要重新加载页面吗e页面我想重新加载一个依赖于客户端(前端)的页面。服务器只需呈现数据(HTML或JSON、XML…)和响应客户端进行显示。因此,在使用ajax时,它不需要重新加载页面。那么,为什么这不起作用呢?在您的代码之前,一个警报随正文出现,但现在它没有出现。只需重新加载页面并显示消息…我如何发送消息您有任何选择吗
$("#formpost").on('submit', function(event) { event.preventDefault(); var form = $(this); var url = form.attr('action'); $.ajax({ type: "POST", url: "club.php", data: form.serialize() // serializes the form's elements. }).done(function(data) { var msg = $(data).find('#msg').html(); alert(msg); }); });
$(function() { $("#formpost").submit(function(event) { event.preventDefault(); $.ajax({ type: "POST", url: "club.php", data: $(this).serialize(), }).done(function(data) { var msg = $(data).find('#msg').text(); alert(msg); }); }); });