phpajax提交表单
⑴ thinkphp里面的ajax关于表单提交的写法
<html>
<head>
<scripttype="text/javascript"src="__PUBLIC__/js/jquery-1.7.1.min.js"></script>
<scripttype="text/javascript">
$(function(){
$('input:button').click(function(){
var$title=$('input[name="title"]').val();
var$message=$('input[name="message"]').val();
$mess=$('#mess');
$.getJSON('__URL__/add',{title:$title,message:$message},function(json){
//alert(json);returnfalse;
if(json.status==1){
$mess.slideDown(3000,function(){
$mess.css('display','block');
}).html('标题为'+json.data.title+'信息为'+json.data.message);
}else{
$mess.slideDown(3000,function(){
$mess.css('display','block');
}).html('信息添加失败,请检查');
}
});
})
})
</script>
</head>
<body>
<divstyle="display:none;color:red;"id="mess"></div>
<formaction=""method="get">
标题:<inputtype="text"name="title"/><br/>
信息:<inputtype="text"name="message"/><br/>
<inputtype="button"value="提交"/>
</form>
</body>
</html>
上面是前段代码
MessageAction.class.php页面代码如下:
<?php
{
functionindex(){
$this->display();
}
functionadd(){
//ajaxReturn(数据,'提示信息',状态)
$m=M('message');
if($m->add($_GET)){
$this->ajaxReturn($_GET,'添加信息成功',1);
}else{
$this->ajaxReturn(0,'添加信息失败',0);
}
}
}
?>
⑵ php jQuery ajax表单提交
<script type="text/javascript"src="http://code.jquery.com/jquery.min.js"></script>,是引用jquery.min.js这个文件,这个是使用jquery的基础文件,必须引用,当然你可以自己下载在本地引用;$("#tishi").html(tishi);的意思是把tishi这个变量的值在id为tishi的..控件上显示出来..
⑶ 在HTMl中提交表单到PHP,用ajax异步的方式,求大神
你的问题在于:
1、<input>标签没有关闭的写法,也就是不用</input>
2、move_uploaded_file将你的文件上传到了uploadpic里面去了,这个uploadpic应该和你submit2.php同级目录,如果你创建了uploadpic这个文件夹,并保证了读写权限,那么将传到这里,如果没有读写权限,或者没有这个文件夹,那么这个图片只会在服务器缓存里呆着,然后被释放掉,所以你看不到这个文件。
你可以参考下面这个来检查是不是有文件夹,如果没有就创建目录:
if(!empty($_FILES['file']['name'])){
if(is_dir("uploadpic")){ //如果目录存在
//则执行上传流程
}else{ //如果目录不存在
mkdir("uploadpic"); //则创建目录
//再执行上传流程
}
⑷ PHP jquery ajax 提交表单不跳转 直接输出更新
<input type='submit' id='save' name='save' onclick='' /> 你把type='submit' 改为 type='button' 就不跳转了啊! submit为form表单的提交! 还有,submit的优先级高于onclick!
⑸ ThinkPHP使用Ajax提交表单URL如何设置
默认的操作需要获取数据列表,关键代码:
public function index() {
$Form = M("Form");
// 按照id排序显示前5条记录
$list = $Form->order('id desc')->limit(5)->select();
$this->list = $list;
$this->display();
}
检测标题的Ajax响应操作是checkTitle操作方法:
public function checkTitle($title='') {
if (!empty($title)) {
$Form = M("Form");
if ($Form->getByTitle($title)) {
$this->error('标题已经存在');
} else {
$this->success('标题可以使用!');
}
} else {
$this->error('标题必须');
}
}
⑹ PHP如何接收ajax异步提交的表单
首先看你Ajax是通过哪种提交方式提交的,比如说你设置的Ajax是通过post方式提交的 那后台PHP直接就通过$_post['']获取到传过来的值 关于你说的这个异步上传 最好是使用一些插件 我之前用过一个jQuery的异步上传的插件不错 我这里也有源码 http://blog.sina.com.cn/s/blog_49b531af0100gp4h.html 这个是我的博客 上面写的很详细 另外那个插件我也也有 给分我传你邮箱
⑺ PHP中一个form表单用ajax实现提交之后,怎么恢复到以前的状态
$(form).trigger('reset');
在function里面用这句就可以了,trigger('reset')
触发form的reset[重置]事件相当于点击reset按钮。
⑻ ajax提交表单文件,判断文件大小,类型,PHP后台
您好,第一步,创建一个表单HTML页面
这里,我们只展示主要的表单部分HTML结构代码:
复制代码代码如下:
<div id="contact_form">
<form name="contact" method="post" action="">
<fieldset>
<label for="name" id="name_label">姓名</label>
<input type="text" name="name" id="name" size="30" value="" class="text-input" />
<label class="error" for="name" id="name_error">此项必填</label>
<label for="email" id="email_label">您的Email</label>
<input type="text" name="email" id="email" size="30" value="" class="text-input" />
<label class="error" for="email" id="email_error">此项必填</label>
<label for="phone" id="phone_label">您的联系电话</label>
<input type="text" name="phone" id="phone" size="30" value="" class="text-input" />
<label class="error" for="phone" id="phone_error">此项必填</label>
<br />
<input type="submit" name="submit" class="button" id="submit_btn" value="我要发送" />
</fieldset>
</form>
</div>
几点注意:
这里用一个id为contact_form来包含整个包含信息;这是有意义的,稍后在JavaScript与用户交互信息的时候会用到。
大家应该注意到了,这里form标签的属性里面既包含了method和action;这个意义其实不大,因为Javascript直接操作DOM,所以没有这两个属性也是可以的;
务必要给用户输入的<input>标签加独立的id,这和第二点原理类似。否则,无法看到正常的效果。
第二步,开始添加JQuery代码
这里假设你已经从JQuery官方网站上下载了JQuery基库,然后上传到了你的WEB服务器,并添加到你要使用的网页中了。
现在另外新建一个JS文件,添加如下代码:
复制代码代码如下:
$(function() {
$(".button").click(function() {
// 处理表单验证和交给后台处理的逻辑
});
});
第一行的function()函数与Jquery的document.ready函数用法和功能相同,都是在DOM准备完毕后自动触发。
第二行里面是一个单击触发函数click(),需要注意的是,在HTML一页提交按钮上需要放置一个名为“button”的Class,以模拟实现submi提交表单的功能.
从第二点我们可以看出,JQuery可以很好的将结构和逻辑分离。
第三步,编写验证代码
在实际应用中,这一步是必不可少的。在用户漏填,错填某个项目时,及时提示。
复制代码代码如下:
$(function() {
$('.error').hide();
$(".button").click(function() {
// 验证代码
$('.error').hide();
var name = $("input#name").val();
if (name == "") {
$("label#name_error").show();
$("input#name").focus();
return false;
}
var email = $("input#email").val();
if (email == "") {
$("label#email_error").show();
$("input#email").focus();
return false;
}
var phone = $("input#phone").val();
if (phone == "") {
$("label#phone_error").show();
$("input#phone").focus();
return false;
}
});
});
几点注意:
第2行,我们添加一个$('.error').hide()是为了在用户未输入任何信息时隐藏三个class="error"提示错误的label标签。而只有当出现错误,即为空时,错误才会出现。(因为有return false的作用,每次仅会出现一个错误)
在JQuery里面,获取DOM中某个ID或者Class的值非常简单
复制代码代码如下:
//获取id的值
var name = $("input#name").val();
//获取class序号为1的值
var name = $(".name")[1].val();
现假设用户没有输入姓名,处理逻辑应该是:首先显示错误,然后将焦点定位在姓名上。
if (name == "") { //用户名为空
$("label#name_error").show(); //错误提示
$("input#name").focus(); //焦点定位
return false; //返回
}
在必填的字段上验证时,都必须return false,否则会出现必填项未填完即提交的情况。
第四步,通过Jquery的Ajax函数提交表单信息。
这是本教程实现无刷新提交的核心步骤,通过ajax函数来递交javascript从DOM中获取的表单项值,然后异步提交给后台处理程序(process.php),并发送Email。此步紧接在验证程序之后:
复制代码代码如下:
var dataString = 'name='+ name + '&email=' + email + '&phone=' + phone;
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "bin/process.php",
data: dataString,
success: function() {
$('#contact_form').html("<div id='message'></div>");
$('#message').html("<h2>联系方式已成功提交!</h2>")
.append("<p>Script by Code52.net</p>")
.hide()
.fadeIn(1500, function() {
$('#message').append("<img id='checkmark' src='images/check.png' />");
});
}
});
return false;
以上代码的核心函数是.ajax() ,它所起得作用就是使用POST方式将已经获取的表单信息(dataString)异步传送给所定义的后台PHP url(bin/process.php)。如果数据成功传送,它会将一系列我们定义好的信息返回给用户。最后return false,这样是为了防止页面重新加载。
除了返回成功信息和发送邮件外,我们还可以做其他一些更广泛的事情。比如,将获得的数据交由后台脚本处理时,将数据插入数据库中,然后再将用户提交的信息返回。
详细解释:
首先,获取表单项的值,方法我们已经在第三步中提到过了:
var name = $("input#name").val();
var email = $("input#email").val();
var phone = $("input#phone").val();
//将表单项的值组合成一个字符串
var dataString = 'name='+ name + '&email=' + email + '&phone=' + phone;
将此组合字符串的值通过AJAX函数传递给后台url,如果成功,则会返回成功信息给用户:
复制代码代码如下:
$.ajax({
type: "POST",
url: "bin/process.php",
data: dataString,
success: function() {
$('#contact_form').html("<div id='message'></div>");
$('#message').html("<h2>Contact Form Submitted!</h2>")
.append("<p>We will be in touch soon.</p>")
.hide()
.fadeIn(1500, function() {
$('#message').append("<img id='checkmark' src='images/check.png' />");
});
}
});
return false;
在本示例中,ajax函数的功能就只有这些了,如果你需要进一步关于ajax函数的信息,可以参考官方文档:jQuery's documentation on the ajax function
第五步,反馈信息给用户的部分
首先,在信息提交成功之后,JQuery会通过以下部分动态的替换掉<div id="contact_form"></form>中的内容,只需要简单的一句话即可实现。
$('#contact_form').html("<div id='message'></div>");
所以请大家记住,如果你以后需要通过JavaScript动态的替换掉某个层或者<span>,可以使用Jquery的.html方法实现,非常简单和方便。
其次,有了这个层肯定还不够,因为里面还没有内容,所以,我们还要给id=message的这个层添加一些显示内容:
$('#message').html("<h2>联系方式已成功提交!</h2>")
同样是动态的为id为message的层添加了一段html用于提示。还可以利用append方法在message层中追加一句:
.append("<p>We will be in touch soon.</p>")
最后,为了表现出提交之后,服务器处理的动态效果,我们设置了以下特效代码:
.hide() //整个层消失
.fadeIn(1500, function() {//在1500毫秒内逐渐出现
//最后再动态追加一个成功图标
$('#message').append("<img id='checkmark' src='images/check.png' />");
});
⑼ php如何接收ajax提交表单的的数据
你这样写是对的,然后用对应的post或get下载就可以了。
希望我的回答可以帮到你,有什么不懂可以追问。
⑽ ajax form提交至php怎么处理
<script type="text/javascript"src="code.jquery.com/jquery.min.js"></script>,是引用jquery.min.js这个文件,这个是使用jquery的基础文件,必须引用,当然你可以自己下载在本地引用;$("#tishi").html(tishi);的意思是把tishi这个变量的值在id为tishi的..控件上显示出来..