分类:程序设计日期:2016-01-02 - 15:31:45评论:0条作者:老谢
在开发工作共我们往往会遇到一个表单需要包含多个action不同的提交动作,这时候就不能在使用submit按钮来进行提交了,下面提供通过js来实现这一功能的方法
<form name="demo" method="post">
<!--YOUR DATA AREA-->
<input type="button" value="添加" onclick="addAction()">
<input type="button" value="删除" onclick="deleteAction()">
<input type="button" value="保存" onclick="saveAction()">
<input type="button" value="查询" onclick="searchAction()">
</form>
<script type="text/javascript">
function addAction(){
document.demo.action="your add method url";
document.demo.submit();
}
function deleteAction(){
document.demo.action="your delete method url";
document.demo.submit();
}
function saveAction(){
document.demo.action="your add save url";
document.demo.submit();
}
function searchAction(){
document.demo.action="your serach method url";
document.demo.submit();
}
</script> |
<form name="demo" method="post">
<!--YOUR DATA AREA-->
<input type="button" value="添加" onclick="addAction()">
<input type="button" value="删除" onclick="deleteAction()">
<input type="button" value="保存" onclick="saveAction()">
<input type="button" value="查询" onclick="searchAction()">
</form>
<script type="text/javascript">
function addAction(){
document.demo.action="your add method url";
document.demo.submit();
}
function deleteAction(){
document.demo.action="your delete method url";
document.demo.submit();
}
function saveAction(){
document.demo.action="your add save url";
document.demo.submit();
}
function searchAction(){
document.demo.action="your serach method url";
document.demo.submit();
}
</script>
form表单一定要添加上name属性,以通过document定位访问表单,不要写action属性了。
转贴自:http://my.oschina.net/sallency/blog/300568
分类:程序设计日期:2016-01-02 - 14:43:59评论:0条作者:老谢
checkbox提交过来一个数组,为了将数组中的值插入到SQL语句执行,需要将数组的键值使用逗号隔开:
index.html
<form action="2.php" method="post">
<input name="select[]" type="checkbox" value="1" />1
<input name="select[]" type="checkbox" value="2" />2
<input name="select[]" type="checkbox" value="3" />3
<input type="submit" value="submie" />
</form> |
<form action="2.php" method="post">
<input name="select[]" type="checkbox" value="1" />1
<input name="select[]" type="checkbox" value="2" />2
<input name="select[]" type="checkbox" value="3" />3
<input type="submit" value="submie" />
</form>
2.php
<?php
$array = $_POST["select"];
$select = implode(",", $array);
echo $select;
?> |
<?php
$array = $_POST["select"];
$select = implode(",", $array);
echo $select;
?>
3个checkbox全都选择提交后,输出的结果为:1,2,3,可以直接插入到SQL语句执行。
分类:程序设计日期:2015-12-27 - 1:44:50评论:1条作者:老谢
最近一段时间实在太忙,很多东西想发到博客一直抽不出时间好好的写出来,比如新换的罗技MX ANYWHERE2的使用体验以及电动牙刷的使用体验还有健身几个月的成果等等等,趁着工作刚结束把刚刚解决掉的表单重复提交的问题的处理方法贴出来,以便共同学习进步:)
问题背景是用户在网络不好等异常情况下,反复点击submit提交表单,导致同一表单被重复提交写入到数据库,经过一番搜索,本来打算使用JS实现点击submit后,将submit按钮设置为不可用,但是实现过程中遇到很多问题,无奈JS一点都不懂,于是便使用更好的Session的方式来解决这个问题。
使用Session解决的原理是:Session保存在服务器端,在PHP运行过程中可以改变Session变量,下次访问这个变量时,得到的是新赋的值,所以,可以用一个Session变量记录表单提交的值,如果不匹配,则认为是用户在重复提交。
from.php
<?php
session_start(); //根据当前SESSION生成随机数
$code = mt_rand(0,1000000);
$_SESSION['code'] = $code; //将此随机数暂存入到session
?>
<form id="form1" name="form1" method="post" action="action.php">
<p>说明 <input type="text" name="titile" />
<input type="hidden" name="originator" value="<?=$code;?>"></p>
<p><input type="submit" name="Submit" value="提交" /></p>
</form> |
<?php
session_start(); //根据当前SESSION生成随机数
$code = mt_rand(0,1000000);
$_SESSION['code'] = $code; //将此随机数暂存入到session
?>
<form id="form1" name="form1" method="post" action="action.php">
<p>说明 <input type="text" name="titile" />
<input type="hidden" name="originator" value="<?=$code;?>"></p>
<p><input type="submit" name="Submit" value="提交" /></p>
</form>
使用mt_rand函数生成一个随机值给变量code,把变量code的值复给$_SESSION[‘code’],提交后比对两个值是否一致即可。
action.php
<?php
session_start();
if(isset($_POST['originator'])) {
if($_POST['originator'] == $_SESSION['code']){
echo "ok";
unset($_SESSION["code"]); //将其清除掉此时再按F5则无效
}else{
echo "请不要刷新本页面或重复提交表单";
}
}?> |
<?php
session_start();
if(isset($_POST['originator'])) {
if($_POST['originator'] == $_SESSION['code']){
echo "ok";
unset($_SESSION["code"]); //将其清除掉此时再按F5则无效
}else{
echo "请不要刷新本页面或重复提交表单";
}
}?>
特别注意:必须要使用unset($_SESSION[“code”]);销毁$_SESSION[“code”]!
本文参考(感谢以下两篇文章的原作者):
解析php防止form重复提交的方法
php 防止表单重复提交
分类:程序设计日期:2015-12-05 - 22:05:00评论:3条作者:老谢
最近一个项目反复要改数据库,一直手动改,由于改的太过频繁实在受不了,字段替换的语句如下:
UPDATE 表名 SET 字段名 = REPLACE (字段名, '将要被替换的内容', '想要替换成的内容'); |
UPDATE 表名 SET 字段名 = REPLACE (字段名, '将要被替换的内容', '想要替换成的内容');
当然还可以加上条件:
UPDATE 表名 SET 字段名 = REPLACE (字段名, '将要被替换的内容', '想要替换成的内容') WHERE id<99; |
UPDATE 表名 SET 字段名 = REPLACE (字段名, '将要被替换的内容', '想要替换成的内容') WHERE id<99;
分类:程序设计日期:2015-10-29 - 15:58:45评论:2条作者:老谢
- NSString
- NSMutableString
- NSArray
- NSMutableArray
- NSDictionary
- NSMutableDictionary
PS. 这两天代码敲的ctrl+s惯了,写这篇帖子的时候也下意识的ctrl+s,然后发现wp居然也支持这个快捷键来保存草稿!
继续阅读…
分类:程序设计日期:2015-10-21 - 23:22:55评论:0条作者:老谢
Objective-C下创建类以后,会出现两个文件,分别后缀为.h和.m,其中.h一个是类的声明(@interface),一个是类的实现(@implementation),在创建一个类时,我们可以在main.m中 main()方法之前,作出声明与实现:
People.h
#import <Foundation/Foundation.h>
@interface People : NSObject
@property(nonatomic,strong)NSString *peopleName;
-(void)report;
@end |
#import <Foundation/Foundation.h>
@interface People : NSObject
@property(nonatomic,strong)NSString *peopleName;
-(void)report;
@end
继续阅读…
分类:程序设计日期:2015-10-10 - 22:42:06评论:0条作者:老谢
JAVA常用关键词
标识符命名规则
1.标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。
2.标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。
3.标识符是严格区分大小写的。 所以涅,一定要分清楚 imooc 和 IMooc 是两个不同的标识符哦!
4.标识符的命名最好能反映出其作用,做到见名知意。
继续阅读…
分类:程序设计日期:2015-10-10 - 0:53:33评论:1条作者:老谢
在朋友忽悠下接触JAVA学Android开发,在看视频教程的时候跟着写Hello World!遇到“错误: 找不到或无法加载主类 HelloWorld”的错误,代码如下:
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World!");
}
} |
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
经过一番搜索,发现可能是环境变量配置有问题,于是乎重新对环境变量进行配置,配置如下:
JAVA_HOME:C:\Program Files\Java\jdk1.8.0_60
PACH:C:\Program Files\Java\jdk1.8.0_60\bin;C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
CLASSPACH:.;C:\Program Files\Java\jdk1.8.0_60\lib
环境变量配置完保存以后,执行java HelloWorld依旧报错,检查半天无果,最后不小心发现,CMD要关闭重新打开以后才能加载新的环境变量…………于是乎重新打开CMD以后,问题解决。。。 -_-!!!
分类:乱七八糟日期:2015-10-09 - 0:16:51评论:16条作者:老谢
第几个100天 还是很有感觉
用眼睛去素描 你内心的世界
第几个100天 也像刚热恋
两个人手一牵 连命运都改变
500 Days
跟女票在一起500天了,大部分时间处于异地状态,从相隔100多公里到现在相隔1600多公里,感情依旧强烈,吵过无数次分过无数次,现在仍在一起,哭过,笑过,共同经历的越多也越是难舍难分,越是懂的对方的珍贵,越是会去珍惜。
女票是一个很倔的人,倔得令人发指,但也倔得可爱,倔得深得我心。异地要多久才能结束,现在来说还是未知数,但好在我们已经共同往一个城市努力了,愿早日可以结束异地生活在同一个城市。
本来就没有什么文笔,此刻文笔变得更是拙劣,想说的太多,又不知道从何说起,可能我是没有办法用文字来描述我们之间的故事。
当守护变信念,连泪水都很甜:)
题外的话
不知道是因为智齿还是因为刷牙没刷好,反正牙龈又肿了好几天也没消肿,疼起来真是要命,于是乎入了一支飞利浦的电动牙刷,过阵子发体验。
分类:吐槽日期:2015-09-20 - 20:57:13评论:9条作者:老谢
着手学习IOS开发,咨询了一些朋友搜了一些资料结果都是要从C语言开始学起,在大D牛的推荐下,撸了本《C Primer Plus》从头开始学习C语言,以前学的C都已经忘的差不多了,但还是有一些基础在,书看的还算轻松,一些以前弄不清的地方也清晰了起来,如果有做IOS开发的朋友,欢迎留言赐教学习方法和经验。
C完了还有OC,距离能独立完成一个APP不知道还得过多久。。。努力吧 -_-
题外话,已准备10月开始和朋友一起健身房走起,每天坐得太久,身体是时候需要锻炼了,希望可以坚持下去,太多太多东西缺的就是坚持。
最新评论
Andy烧麦:这些大厂都能提供必要的售后
王光卫博客:小米生态还是比较丰富
空空裤兜:在天猫买的利维斯顿,阿里智能APP...
林羽凡:我突然发现,你也记录了很多博文了。
菊座:小米的东西还行
zwwooooo:一般电器产品都jd,就是想售后身心
zwwooooo:能随便搞个公司玩玩也算是实力选手
大D:坚持就是胜利哈哈哈
老麦:看着那一排日志存档,老前辈了啊。
大峰:这售后可以嘛~