让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); }
这未经过测试,如果您遇到任何问题请告诉我。
干杯,