PHP jQuery ajax 表单提交小示例(含insert, select)

功能描述:能够通过表单向MySQL数据库新增记录,能够表单提供关键词进行查询

index.html

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>货物销售记录</title>
<script src="JS/jquery-1.8.2.min.js"></script>
<script language="javascript" src="JS/function.js"></script>
<link rel="stylesheet" type="text/css" href="css/style.css"/>
</head>

<body>
<p><strong>销售方功能模拟:</strong></p>
<p>登记销售记录>></p>
<table width="500" border="1">
    <tr>
      <td width="130">客户姓名</td>
      <td width="194">
      <input type="text" name="txtUserName" id="txtUserName" /></td>
      <td width="154"> </td>
    </tr>
    <tr>
      <td>客户电话</td>
      <td>
      <input type="text" name="txtUserTel" id="txtUserTel" /></td>
      <td> </td>
    </tr>
    <tr>
      <td>购货日期</td>
      <td>
      <input type="text" name="txtDate" id="txtDate" /></td>
      <td> </td>
    </tr>
    <tr>
      <td>货物编号</td>
      <td>
      <input type="text" name="txtGoodsID" id="txtGoodsID" /></td>
      <td> </td>
    </tr>
    <tr>
      <td>货物名称</td>
      <td>
      <input type="text" name="txtGoodsName" id="txtGoodsName" /></td>
      <td> </td>
    </tr>
    <tr>
      <td>购货数量</td>
      <td>
      <input type="text" name="txtGoodsNum" id="txtGoodsNum" /></td>
      <td> </td>
    </tr>
    <tr>
      <td colspan="3"><input type="button" name="button" id="button" value="保存" /><div id="insertStatus">这里显示结果</div></td>
    </tr>
  </table>
<div class="divBorder">
<p>查询销售记录>></p>
<p>
  <input type="button" name="button2" id="button2" value="显示全部" />
  <input type="button" name="button4" id="button4" value="隐藏结果" />
</p>

  <p>选择类别:
    <select name="queryField" id="queryField">
      <option value="userName">客户姓名</option>
      <option value="userTel">客户电话</option>
      <option value="goodsID">货物编号</option>
      <option value="goodsName">货物名称</option>
      <option value="tradeDate">购物日期</option>
    </select>
  </p>
  <p>查询值:
    <input type="text" name="queryKeywords" id="queryKeywords" />
  </p>
  <p>
    <input type="button" name="button3" id="button3" value="搜索" />
  </p>
<div id="queryResult"> 这里显示销售方查询结果</div>
</div>
<hr />
<p><strong>顾客方功能模拟:</strong></p>
<div class="divBorder">
<p>货物验证>></p>
  <table width="500" border="1">
    <tr>
      <td width="130">客户姓名</td>
      <td width="194">
        <input type="text" name="txtUserName2" id="txtUserName2" />
        *</td>
      <td width="154"> </td>
    </tr>
    <tr>
      <td>客户电话</td>
      <td>
        <input type="text" name="txtUserTel2" id="txtUserTel2" />
        *</td>
      <td> </td>
    </tr>
    <tr>
      <td>货物编号</td>
      <td>
        <input type="text" name="txtGoodsID2" id="txtGoodsID2" />
        *</td>
      <td> </td>
    </tr>
    <tr>
      <td colspan="3"><input type="button" name="button5" id="button5" value="查询" />
        <span id="insertStatus2"></span></td>
    </tr>
  </table>
<div id="validateResult">这里显示验证结果</div>
</div>
</body>
</html>

index.html效果图

function.js

// JavaScript Document

//插入记录
$(function(){
	$("#button").click(function(){
		$("#insertStatus").text("正在保存,请稍候..."); //显示提醒
		//获取用户值
		txtUserName=$("#txtUserName").val();
		txtUserTel=$("#txtUserTel").val();
		txtDate=$("#txtDate").val();
		txtGoodsID=$("#txtGoodsID").val();
		txtGoodsName=$("#txtGoodsName").val();
		txtGoodsNum=$("#txtGoodsNum").val();
		//以ajax方式与后台程序交互
		$.ajax({
			url:‘insert.php‘,
		    type:‘post‘,
		    dataType:‘html‘,
			data:{postUserName:txtUserName,postUserTel:txtUserTel,postGoodsID:txtGoodsID,postGoodsName:txtGoodsName,postGoodsNum:txtGoodsNum,postDate:txtDate},
		    success:function(data)
				{
					if(data==1)
						$("#insertStatus").text("保存成功");
					else
						$("#insertStatus").text("保存失败");
				}
			})
		})
	})

// 查询全部记录
$(function(){
	$("#button2").click(function(){
		$("#queryResult").text("正在查询,请稍候...");
		$.ajax({
			url:‘query.php‘,
		    type:‘post‘,
		    dataType:‘json‘,
			data:{queryType:‘all‘}, // 设置查询类型变量,让后台程序区分是全部查询还是条件查询

		   //查询成功,调用函数返回结果
		    success:showQueryResult,
				//查询失败,显示提示
			error:function(){
				$("#queryResult").html("没有查询到结果。");
				}
			})
		})
	})

// 条件查询
$(function(){
	$("#button3").click(function(){
		$("#queryResult").text("正在查询,请稍候...");
		txtField=$("#queryField").val();
		txtKeyword=$("#queryKeywords").val();
		$.ajax({
			url:‘query.php‘,
		    type:‘post‘,
		    dataType:‘json‘,
			data:{queryFields:txtField,queryKeywords:txtKeyword},
			//查询成功,调用函数返回结果
		    success:showQueryResult,
				//查询失败,显示提示
			error:function(){
				$("#queryResult").html("没有查询到结果。");
				}
			})
		})
	})	

	//客户验证
	$(function(){
		$("#button5").click(function(){
			$("#validateResult").text("正在验证,请稍候...");
			txtUserName=$("#txtUserName2").val();
			txtUserTel=$("#txtUserTel2").val();
			txtGoodsID=$("#txtGoodsID2").val();
			$.ajax({
				url:"validate.php",
				type:"POST",
				dataType:"html",
				data:{postUserName:txtUserName,postUserTel:txtUserTel,postGoodsID:txtGoodsID},
				success:function(data){
						if(parseInt(data)>0)	//后台程序会将查询结果记录的条数返回到这里,根据此值检查是否查询到记录
							$("#validateResult").html("验证成功!根据您提供的信息,我们认定为有效交易,");
						else
							$("#validateResult").html("对不起,我们无法验证您输入的信息的有效性,验证失败。");
					},
					error: function(){
							$("#validateResult").html("查询出错,请联系网站管理员");
						}
				})

			})
		})	

	//隐藏查询结果
	$(function(){
		$("#button4").click(function(){
			$("#queryResult").html("");
			})
		})

	//显示查询结果
	function showQueryResult(data)
	{
		var str="<table border=‘1‘><tr><td>编号</td><td>客户姓名</td><td>客户电话</td><td>货物编号</td><td>货物名称</td><td>货物数量</td><td>交易日期</td>";
	 	$.each(data,function(index,info)
	 	 {
	  		 str+="<tr><td>"+info["ID"]+"</td><td>"+info["userName"]+"</td><td>"+info["userTel"]+"</td><td>"+info["goodsID"]+"</td><td>"+info["goodsName"]+"</td><td>"+info["goodsNum"]+"</td><td>"+info["tradeDate"]+"</td></tr>";
		})
		$("#queryResult").html(str+"</table>");	

	}

insert.php //新增记录后台程序

<?php
$insertSQL="insert into tradeDetails values(null,‘".$_POST[‘postUserName‘]."‘,‘".$_POST[‘postUserTel‘]."‘,‘".$_POST[‘postDate‘]."‘,‘".$_POST[‘postGoodsID‘]."‘,‘".$_POST[‘postGoodsName‘]."‘,‘".$_POST[‘postGoodsNum‘]."‘)";
mysql_connect(‘localhost‘,‘root‘,‘root‘);
mysql_query("set names utf8");
mysql_select_db("test");
echo mysql_query($insertSQL);
?>

query.php //查询功能后台程序

<?php
mysql_connect("localhost","root","root");
mysql_query("set names utf8");
mysql_select_db("test");
$querySql="";
if(isset($_POST[‘queryType‘])==true) //获取查询类型,如果queyType变量存在,则说明是全部查询
{
	$querySql="select * from tradeDetails order by ID";
}
else // 否则,是条件查询
{
	$querySql="select * from tradeDetails where ".$_POST[‘queryFields‘]."=‘".$_POST[‘queryKeywords‘]."‘";
}
$myrs=mysql_query($querySql);

while($row=mysql_fetch_array($myrs,MYSQL_ASSOC))
	{
		$arr[]=$row;
	}
echo json_encode($arr);
?>

validate.php //客户功能后台程序

<?php
mysql_connect("localhost","root","root");
mysql_query("set names utf8");
mysql_select_db("test");
$querySql="SELECT ID FROM tradeDetails WHERE userName = ‘".$_POST[‘postUserName‘]."‘ and userTel=‘".$_POST[‘postUserTel‘]."‘ AND goodsID =‘".$_POST[‘postGoodsID‘]."‘";
$rs=mysql_query($querySql);
$totalRows_myrs=mysql_num_rows($rs);
echo $totalRows_myrs; //返回查询到的记录条数
?>

====================================================================================================

效果

图1- 新增记录

图2-查询全部

图3-条件查询

图4-客户功能 失败

图5-客户功能 成功

PHP jQuery ajax 表单提交小示例(含insert, select),布布扣,bubuko.com

时间: 2024-12-14 10:02:43

PHP jQuery ajax 表单提交小示例(含insert, select)的相关文章

Jquery Ajax表单提交插件jquery form用法

首先我们载入jquery库和jquery.form.js插件.jquery.form.js插件的官网地址:http://www.malsup.com/jquery/form/  代码如下 复制代码 <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.form.m

jquery ajax 表单提交被浏览器拦截解决办法

通常jquery的submit表单提交是不会被拦截的,但是用jquery ajax异步提交是会被拒绝的,既然是异步提交造成的问题,那就好解决了,因为jquery ajax方法提供了参数选项: async :true, 默认设置下,所有请求均为异步请求.如果需要发送同步请求,请将此选项设置为 false.注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行. 原文地址:https://www.cnblogs.com/richardcastle/p/8297325.html

jQuery ajax表单提交实现局部刷新

jQuery Ajax 异步提交 Form 表单,如果使用 get 请求,注意中文乱码问题,jquery 会先使用 iso8859-1 解码,然后发给服务器,如果使用 post 请求,则直接将中文内容提交给服务器解析. 引入插件: jquery.min.js jquery.form.js 提交表单: 以下为引用内容: // 动态加载页面 // id 显示页面的容器组件ID2 // url 欲加载页面网址 // gop get请求还是post请求,默认get function loadPage(i

jQuery ajax表单提交

Jquery的$.ajax方法可以实现ajax调用,要设置url,post,参数等. 如果要提交现有Form需要写很多代码,何不直接将Form的提交直接转移到ajax中呢. 以前的处理方法 如Form代码如下: <form id="Form1" action="action.aspx" method="post" >名称:<input name="name" type="text" /&g

jQuery Ajax 表单提交

之前那种在<button>上面 onclick 会出现 sucess 回调函数 window.location.href 无法跳转的问题,所以,建议直接用 form.submit $("#modifyUserInfo").submit(function () { if(confirm("确定修改吗?")){ var params = $("#modifyUserInfo").serializeArray(); $.ajax({ typ

使用Jquery.form.js ajax表单提交插件弹出下载提示框

现象: 使用jquery的from做ajax表单提交的时候,后台处理完毕返回json字符串,此时浏览器提示下载一个json文件而不是在success里面继续解析该json对象. 具体的原因: 浏览器兼容性的问题.在谷歌和火狐下没这个问题,我用的ie9测试是有这个问题的.具体的详细我参照的该链接: http://zhidao.baidu.com/link?url=uTXondC9ECEfdObEWbq7V2O7-UW_oXtoVcneVqH_Dmj2hUXjM3y6wMFnQYsUupdWC0Tf

Ajax表单提交插件jquery form

jQuery Form插件是一个优秀的Ajax表单插件,我们可以非常容易的使用它处理表单控件的值,清空和复位表单控件,附件上传,以及完成Ajax表单提交. jQuery Form有两个核心方法ajaxForm()和ajaxSubmit(),本文我们重点介绍ajaxSubmit()的应用. HTML 首先我们载入jquery库和jquery.form.js插件.jquery.form.js插件的官网地址:http://www.malsup.com/jquery/form/ <script type

Jquery form表单提交

起因 由于项目中原先提交from是通过JavaScript指定action,在submit提交的,使用的方式,也不是很标准,造成除了ie之外的浏览器都不能正常的提交数据,做web项目还是要考虑到浏览器的兼容性的. 1.序列化form,通过Ajax提交 $.ajax({ cache: false, type: "POST", url: "readImage.do", data: $('#ff').serialize(), //序列化表单数据 async: true,

jquery插件-表单提交插件-jQuery.Form

1.介绍 JQuery Form插件是一款强大的Ajax表单提交插件,可以简单方便的实现让我们的表单 由传统的提交方式转换成Ajax无刷新提交! 他提供了两个核心的方法ajaxForm以及ajaxSubmit 让我们方便的实现无刷新效果提交表单! http://malsup.com/jquery/form/ https://github.com/malsup这个因该是作者的gitbub,我下载看了一下那个readme文件竟然是 API 2.快速入门 1.引入插件 (方法同jQuery) 2.将表