【问题标题】:ajax form input to database postajax表单输入到数据库帖子
【发布时间】:2012-10-30 21:13:38
【问题描述】:

我现在尝试了几个小时,无法让它工作

我的 ajax 调用

 $('.button').click( function() {
         var mail = $("#mail_content").val();

         alert(mail);

        $.ajax({  
            type: "POST",  
            url: "process.php",  
            data: "mail="+ mail,  
            success: function(){  
                alert("success");  
            }  
        });
    });

我的进程.php

<?php
//  echo "<pre>";
//  print_r($_POST);
//  echo "</pre>";

include 'config.php';
include 'lib.php';

$db = dbConnect();


$mail = quote_smart($_POST['mail']);

//insert, update, select, delete
$query = "INSERT INTO mail VALUES ('', '$mail')";
$result = insertQuery($query);


 dbClose($db);

echo "entry saved";

?>

我的表格

<div class="email">
            <div class="email_title">GET NOTIFIED FOR THE GRAND OPENING<br /> </div>
            <div id="contact_form">
              <form id="mail" name="mail" action="" method="post" enctype="multipart/form-data">
                <fieldset>
                  <label for="mail" id="email_label">YOUR EMAIL</label>
                  <input type="text" name="mail_content" id="mail_content" size="30" value="" class="text-input" />
                  <input type="submit" name="submit" class="button" id="submit_btn" value="SAVE" />
                </fieldset>
              </form>
            </div>
        </div>

我忽略了什么吗? 当我将 process.php 代码放在表单中的操作中时它可以工作

【问题讨论】:

  • form:
  • 您知道您可以编辑自己的帖子以向主题添加更多信息吗?请查看常见问题解答:stackoverflow.com/faq
  • 改成 $("#mail").submit(function(){});而不是按钮点击

标签: php jquery ajax database forms


【解决方案1】:

我看到的第一件事是,你的.button 是一个提交输入,所以当你点击它时,表单将被提交,而不是 ajax 调用。

把它变成一个按钮

<input type="button" name="submit" class="button" id="submit_btn" value="SAVE" />

【讨论】:

  • 还有一个问题,当我按回车时,它的行为就像一个提交。
  • 抱歉,使用“按钮”作为 ajax 提交按钮通常不是一个好主意。
【解决方案2】:

只需如下更改您的 ajax 调用...这也解决了使用 enter 提交问题。

 $('#mail').submit( function() {
        var mail = $("#mail_content").val();
        alert(mail);
        $.ajax({  
            type: "POST",  
            url: "process.php",  
            data: "mail="+ mail,  
            success: function(){  
                alert("success");  
            }  
        });
        return false;
    });

【讨论】:

  • 当我使用它不提交并且也不给我任何警报时,我还尝试将另一个动作绑定到按下回车键但不起作用
  • 为了完成这项工作,您必须使用
猜你喜欢
  • 2013-12-07
  • 2012-10-02
  • 2015-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多