让jquery和php与表单一起工作?

所以我有一个简单的问题,但我找不到答案。

我有一个表单,用户在文本字段中键入内容并单击提交按钮,其值为“添加”。 右边会有列表,每次用户点击添加时,都会有一个元素添加到右边的列表中,并带有淡入淡出的动画。

我正在使用php来实现这一点,以便每次用户点击添加时,它都会查询数据库并找到用户正在查找的内容。 如果它不在数据库中,则将其插入数据库。

当用户点击“添加”时,我正在使用javascript / jquery来淡化动画。

我知道如何单独做这些事情,但当我点击添加按钮(提交按钮),整个页面刷新,PHP工作正常,但没有动画。

我尝试在jquery上使用preventDefault(),动画工作正常,但PHP代码没有注册? 我怎么能让它和php和javascript互相切断? 这与ajax有什么关系吗? 谢谢

您需要使用jquery Ajax函数。 这些是特别制作的,您可以调用php脚本而无需刷新页面。

单击此处查看有关Ajax发布function的官方文档以及如何使用它们。

这是我想出的一个例子。 希望这对你有所帮助。

index.php的内容

这是您的表单所在的位置以及将显示添加项目的位置。

   Page Title     

search.php的内容

  FALSE); // Check that the search parameter was provided $search = filter_input(INPUT_POST, 'search', FILTER_SANITIZE_STRING); if (!empty($search)) { // Note: We'll assume a connection to a MySQL database // with the following constant already declared $mysqli = new mysqli(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_NAME); // Make sure that the connection was successful if (!$mysqli->connect_error) { $query = "SELECT id, keyword FROM search_table WHERE keyword = ?"; // Check if the search keyword already exists $stmt = $mysqli->prepare($query); $stmt->bind_param('s', $search); $stmt->execute(); // Create a new entry if not found if (0 == $stmt->num_rows()) { $query = "INSERT INTO search_table(keyword) VALUES(?)"; $stmt = $mysqli->prepare($query); $stmt->bind_param('s', $search); $response['found'] = $stmt->execute(); } else { $response['found'] = TRUE; } } } echo json_encode($response); } 

这未经过测试,如果您遇到任何问题请告诉我。

干杯,