javascript - 寻找在提交表单时更改表单 div 而不刷新页面的脚本

标签 javascript jquery html forms webforms

我在 HTML 页面上有一个电子邮件表单,一旦您单击提交以发送表单提交,我希望 DIV“表单”更新或替换为说“谢谢”消息。

尝试使用谷歌搜索,但没有找到任何我可以使用的具体内容。

有什么想法吗?

谢谢

最佳答案

您可以使用 jQuery.ajax 方法:

$.ajax({
  url: 'ajax/send_mail.php',
  data: "message="+$('#some_field').val(),
  success: function(data) {
    //replace form (form is in div <div id="form"><form>Form data</form></form>)
    $('div#form').html('<p>Thank You!<p>');
    //or $('div#form').html(data); if you are returning message from send_mail.php
  }
});

如果您遇到问题,我可以为您写一个完整的脚本(我正好有心情,还有一些空闲时间):)

更新:

基本上就是这样。

将此复制/粘贴为您的表单:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="hr-HR" lang="hr-HR">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Title</title>
<script type="text/JavaScript"  charset="utf-8" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
 $('#submit').click(function(){
  $.ajax({
   type: "GET",
    url: 'sendit.php',
    dataType: 'json',
    data: $('form#mail_form').serialize(),
    success: function(data) {
    if(data.success==1){
   $('div#form').html(data.message);
   }
    }
  });
  return false;
 });
});
</script>
</head>
<body>
 <div id="form">
  <form id="mail_form">
  <div>
   <input type="text" name="subject" id="subject"/>
  </div>
  <div>
   <textarea name="message" id="message"></textarea>
  </div>
  <div>
   <input type="submit" name="submit" id="submit" value="Send"/>
  </div>
  </form>
 </div>
</body>
</html>

在发送时复制/粘贴此 sendit.php: 您必须验证此数据

//do stuff, send mail, save to database,...
 $data['success']=1;
 $data['message']='Thank You!';
 echo json_encode($data);

关于javascript - 寻找在提交表单时更改表单 div 而不刷新页面的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4646469/

相关文章:

jquery - 隐藏和显示 - SlideToggle 和 fadeIn

jquery - 选中其他内容时设置样式

javascript - 如果动态更改 href,则无法重定向

javascript - 按日期和数据属性排序

javascript - 如何将 html 字符串中的所有内部 url 替换为其相对外部 url?

javascript - dispatchEvent 不工作

javascript - 使用内部变量的 jQuery 自定义插件之间的冲突

javascript - 当导航栏固定在滚动顶部时添加品牌标志和 li

jquery - jquery 的 javascript 是否有调用不等于变量的方法?

html - 图片跳出div