同一表单中多个按钮的按下判断

来源:互联网 发布:python 数据结构书籍 编辑:程序博客网 时间:2024/05/16 07:29

在同一个form中,有多个进行submit的按钮,都会对form进行submit的操作。
但是每个按钮所代表的功能不同,所以在处理此提交form的php页面里,要进行判断,判别是哪个按钮被按下,从而进行不同的处理。 

我们通常用到的按钮有3种方式:

简单的介绍一下:

1 type为button,仅仅为一个按钮,按下按钮本身不会进行提交表单的操作。需要借助于js。即上述的onclick中的js。 

2 type为submit,按下它会直接提交表单。 

3 type为image,即用图片来作为提交表单的按钮。引用的图片即上例中的xxx.gif。这种用图片作为按钮的,按下也会直接提交表单。 

再看他们提交之后的情况

1 上述【type=button】的按钮,借助于this.form.submit()这样js提交之后,其按钮本身的value并不会被post过去。$_POST["mybutton1"]为null。 

2 上述【type=submit】的按钮,提交表单之后,其按钮本身的value会被post过去。通过$_POST["mybutton2"]即可得到mybutton2value。 

3 上述【type=image】的按钮,提交表单之后,其按钮本身的value并不会被post过去。$_POST["mybutton2"]为null。 

回到问题本身

1 Q:同一个表单有多个type=button的按钮,如何判别?
A:在表单中设置hidden的项目,在通过js提交表单之前,通过js先来设定hidden项目的值,每个按钮对其赋不同的值,提交之后判断此hidden的值即可知哪个按钮被按下了。 

 

提交表单之后,判断$_POST["buttonFlag"]值就可知道到底是哪个按钮被按下了。这个方法同样适用于submit按钮和image按钮。 

2 Q:同一个表单有多个type=submit的按钮,如何判别?
A:
一、就是同上述1中的JS方法。
二、最简单的就是判断按钮的值即可。 

按下mybutton2_1的按钮提交之后,$_POST["mybutton2_1"]就为mybutton2_1value。而$_POST["mybutton2_2"]为null。 

3 Q:同一个表单有多个type=image的按钮,如何判别?
A:
一、就是同上述1中的JS方法。
二、判断哪个按钮的坐标被POST过来,就是哪个按钮被按下。因为在按下图片按钮的时候,图片按钮的坐标会被一同POST过去,而没有被按下的按钮,则不会。 

按下mybutton3_1按钮提交之后,$_POST['mybutton3_1_x']则存在不为null(值为其坐标的x值),而$_POST['mybutton3_2_x']为null。 

       

         

      

 

  

     

/***************问题描述,便于搜索***************/
如何判断同一form中的多个按钮是哪一个被按下的
同一form中,多个按钮,判断被按下的按钮
同一form,同一表单,多个按钮,判别,判断,按下
/************************************************/

原创粉丝点击