admin 管理员组

文章数量: 887039


2024年1月10日发(作者:sql server语句大全)

form表单的各种input的submit传值

1.

在服务器端获取参数的时候,ameter(String name)方法的返回结果根据如下情况区分:

1.1

请求消息中不包含这个参数,返回null。

1.2

请求消息中包含这个参数,但是没有值。例如param1=¶m2=123中的param1。这种情况下返回空字符串””。

1.3

请求消息中包含多个命名相同的参数。例如param1=1¶m1=2中的param1。这种情况下,返回第一个参数的值。例如上面的1。如果使用ameterValues(String name),则返回一个包含所有命名相同的值的Sring数组。

2.

一个页面中可以有多个submit元素,点击某个submit按钮的时候,浏览器会将form的数据封转后发送给服务器,其中包括一对当前点击的submit信息的数据,为当前点击submit按钮的name和value。其他不点击的submit按钮不传递name和value值。

所以可以通过如下语句判断点击了那个submit按钮。

if(ameter("submit按钮的name属性") !=null&&

ameter("submit按钮的name属性").equals("submit按钮的value属性"))

{

执行语句

}

form的数据封转后发送给服务器,但是不包含submit按钮本身的name和value信息。所以服务器端不能判断是点击了哪个按钮。

3.

点击一个submit按钮的时候,浏览器会自动提交数据到服务器,但是点击一个Button的时候,浏览器只是单纯的执行这个Button的onclick事件。如果没有onclick事件,就什么也不做。可以在onclick事件中通过JavaScript代码提交表单。

例如:

function button1_click()

{

= “”;

();

}

点击button按钮不传递button的name和value值。

4.

各种input的传递name和value的情况:

前提是,只要没有name属性,就不传递。

text和textarea不管是否为空,都将传递到服务器,为空时传递的value值为空字符串。

checkbox和radio的状况是,只有被选中的才会传递,不选择的不传递。如如果某个submit按钮没有name属性。点击这个按钮的时候,浏览器也会将

果选中了没有value的checkbox和radio,传递的value值默认为”on”。

hidden不管如何,都会被传递给服务器。

5.

一个实践

5.1

jsp页面

method="post" target="_blank">

1

2

3

5.2

后台Servlet代码:

tentType("text/html;charset=UTF-8");

String[] selectBooks = ameterValues("selectbooks");

StringBuffer selectBookIds = new StringBuffer();

int flag = 0;

for (String selectbook : selectBooks) {

if (flag == 0) {

(selectbook);

}

else

{

("," + selectbook);

}

flag = 1;

}

if(ameter("check") != null)

{

ter().println("选择的图书的id有:" +

ng());

}

else if(ameter("delete") != null)

{

ter().println("删除的图书的id有:" +

ng());

}

else

{

ter().println("返回的图书的id有:" +

ng());

}


本文标签: 点击 按钮 返回 服务器 包含