浅谈table、form 标签

1.<table> 标签

1.1包含的元素

<caption></caption>:表头信息。

<tr></tr> :定义一个表格行;

<th></th> :定义一个表格头;若是纯文字,默认会以粗体的样式表现。

<tbody></tbody> :可以理解为表格的内容区域,在Chrome、FF浏览器通过DOM进行表格动态插入行的时候,要使用这个。如果不进行DOM操作,可不用添加。

<td></td> :定义一个单元格;

1.2 属性

table 属性:

  border :定义表格的边框宽度,默认为0,即无边框。

  title :表格的提示信息,当鼠标移到表格上方时,所提示的信息。

th、td 属性:

  colspan : 表示横向合并单元格 ( )

  rowspan :表示纵向合并单元格 (  )

1.3 示例

2.<form>标签

2.1属性

action {URL}:一个URL地址;指定form表单向何处发送数据。

enctype {string}:规定在发送表单数据之前,如何对表单数据进行编码。

指定的值有:application/x-www-form-urlencoded :在发送前编码所有字符(默认为此方式);

                multipart/form-data :不对字符编码。使用包含文件上传控件的表单时,必须使用该值

method {get/post}:指定表单以何种方式发送到指定的页面。

指定的值有:get :from表单里所填的值,附加在action指定的URL后面,做为URL链接而传递。

                post :from表单里所填的值,附加在HTML Headers上。

   2.2 input元素

    属性

       type:类型

取值: text----文本框

password------密码框

radio-------单选按钮(多个单选按钮的name值相同,同时只能选中一个)

checkbox-------复选框

submit----提交按钮

reset-----重置按钮(清空)

button-----普通按钮(<button></button>)

hidden----隐藏域

file-----文件选择框(method 必须为post,enctype为multipart/form-data)

 2.3 textarea元素 (多行文本域)

属性:

name:

cols:指定文本域的列数,一行能显示多少个字符

rows:指定文本域的行数,默认显示几行数据,超出显示滚动条

    2.4 select 与option  

       <select>

<option value=""></option>

<option value=""></option>

<option value=""></option>

</select>

  2.5 form 提交的几种方法

     

方法一:利用form的onsubmit()函数(经常使用)

Html代码

  1. <script type="text/javascript">
  2. function validateForm(){
  3. if(document.reply.title.value == ""){ //通过form名来获取form
  4. alert("please input the title!");
  5. document.reply.title.focus();
  6. return false;
  7. }
  8. if(document.forms[0].cont.value == ""){ //通过forms数组获取form
  9. alert("please input the content!");
  10. document.reply.cont.focus();
  11. return false;
  12. }
  13. return true;
  14. }
  15. <form name="reply"  method="post" onsubmit="return validateForm( );">
  16. <input type="text" name="title"  size="80" /><br />
  17. <textarea name="cont" cols="80" rows="12"></textarea><br />
  18. <input type="submit" value="提交" >
  19. </form>
  20. 注意:
  21. 1.onsubmit属性内容一定要有return关键字,否则函数会直接执行,不会返回
  22. 2.validateForm一定要返回一个boolean类型的返回值
  23. 3.提交按钮要写成submit类型的

方法二:利用input类型为submit组件的onclick()函数

1.将上面form标签中的onsubmit="return validateForm()"属性,去掉。

2.为“提交”按钮添加onclick事件,如下:

<input type="submit" value="提交" onclick="return validateForm();">

方法三:利用button组件的onclick()函数,手动提交

Html代码

  1. <script type="text/javascript">
  2. function modifyItem() {
  3. if (trim(document.getElementById("itemName").value) == "") {
  4. alert("物料名称不能为空!");
  5. document.getElementById("itemName").focus();
  6. return;
  7. }
  8. with (document.getElementById("itemForm")) {
  9. method = "post";
  10. action = "item.do?command=modify&pageNo=${itemForm.pageNo}";
  11. submit();
  12. }
  13. }
  14. //返回
  15. function goBack() {
  16. window.self.location = "item.do?command=list&pageNo=${itemForm.pageNo}";
  17. }
  18. </script>
  19. <form name="itemForm" id="itemForm">
  20. <input name="itemNo" type="text"   id="itemNo" value="${ item.itemNo }" >
  21. <input name="itemName" type="text"   id="itemName" value="${ item.itemName }" >
  22. <input name="btnModify"  type="button" id="btnModify" value=“修改" onclick="modifyItem()">
  23. </form>
  24. 注意:
  25. 1.提交时,设置form的action和methods属性,然后利用form.submit()函数提交。

总结:

1.对form中的组件验证时,前两个使用的是name属性,包括form自身的。

2.如果提交表单时没有反应,同时确定提交表单部分代码没有问题,请查看提交表单前面的js代码,有时前面js的错误会引发莫名其妙的问题。

     

2.6 onsubmit阻止form表单提交与onclick的相关操作

1. return 的返回值问题,函数中return一旦有返回值,就不在执行下面的语句,直接跳到函数调用的地方。如下PHP函数代码,第一个if条件符合则函数值返回布尔型false,可以返回一个函数的值,并且跳出这个函数;只要遇到return语句,程序就在那一行代码停止执行,执行控制将立刻返回到调用该程序的代码处。

2.form的onsubmit属性的触发问题,onsubmit 事件什么时候触发?onsubmit 事件会在表单中的确认按钮被点击时发生。不触发的原因有一般如下:

A. onsubmit属性的触发时机是在form用input:submit这样的button提交时才会触发,否则不会触发。如果是用一个普通input:button,则在onclick属性中指定一个javascript函数,在这个函数里面再执行form的submit()函数,而不是onsubmit属性。

<form action="index.php" method="post" onsubmit="submitTest();">

<INPUT value="www">

<input type="submit" value="submit">
</form>

<SCRIPT LANGUAGE="JavaScript">
<!--
function submitTest() {
// 一些逻辑判断return false;
}
点击submit按钮该表单并未提交。因为有一处应该改为下列代码 :
<form action="index.jsp" method="post" onsubmit="return submitTest();">原来onsubmit属性就像是<form>这个html对象的一个方法名,其值(一字符串)就是其方法体,默认返回true;
和Java一样,在该方法体中你可以写任意多个语句,包括内置函数和自定义函数。
在这里submitTest()虽然返回false,但我们只执行了此函数,没有对其结果进行任何处理。
而onsubmit="return submitTest()利用到了它的返回值,达到了预期效果。3.事件处理函数返回false的问题,在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.

例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页. Return False 就相当于终止符,Return True 就相当于执行符。 在js中return false的作用一般是用来取消默认动作的。比如你单击一个链接除了触发你的 onclick时间(如果你指定的话)以外还要触发一个默认事件就是执行页面的跳转。所以如果 你想取消对象的默认动作就可以return false。return false应用比较多的场合有: <body> 1, <a href="/" mce_href="/" onclick=‘test();‘>超级链接 </a> 2, <input type="button" onclick=‘test()‘ value="提交"> 3, <form name="form1" onsubmIT="return test();"> 内容 <input type="submIT" value="提交"> </form> </body>
<input type="submit" onclick="submitAction(); return false;" /> submitAction 方法里面有提交表单的动作。如果不加 return false,
在执行完 submitAction 之后,submit 按钮还会继续执行它的默认事件,就会再次提交表单。这可能就是很多错误的根源。 的确,return false的含义不是阻止事件继续向顶层元素传播,而是阻止浏览器对事件的默认处理。

时间: 2024-10-25 04:16:28

浅谈table、form 标签的相关文章

浅谈MVC Form认证

简单的谈一下MVC的Form认证. 在做MVC项目时,用户登录认证需要选用Form认证时,我们该怎么做呢?下面我们来简单给大家说一下. 首先说一下步骤 1.用户登录时,如果校验用户名密码通过后,需要调用FormsAuthentication.SetAuthCookie()这个方法. 2.用户退出时,需要调用FormsAuthentication.SignOut();方法 3.在配置文件web.config中,system.web 节点下, 配置<authentication  mode="

浅谈html标签

浅谈html各常用标签用法 标题标签:<h1>-<h6>来表示,使标题字体变粗. <br />换行标记 <hr />水平分隔符 &nbsp空格符 &copy版权符 <a href>a标签超链接 href可接链接地址 <p>段落标签<blockquote>引用标签及可用做缩进 <table>表格中的<ul>无序列表<ol>有序列表<dl>自定义列表<row

浅谈 js 语句块与标签

原文:浅谈 js 语句块与标签 语句块是什么?其实就是用 {} 包裹的一些js代码而已,当然语句块不能独立作用域.可以详细参见这里<MDN block> 也许很多人第一印象 {} 不是对象字面量么?怎么成了语句块了?如果在赋值语句或者表达式里用的时候,确实是对象字面量,如: var a = {}; ({toString:function(){return "hehe"}}) + "..."; 是不是很有意思..但是直接使用如: {toString: fu

浅谈struts2标签中的2个很常用的标签的用法(radio和select)

1.如图所示我们需要在前台的页面通过radio和select将对应的数据库中的数据显示到选项当中,这也是我们做项目中经常需要做的,动态的显示,而不是静态的显示. 首先我们需要在页面中导入struts2的标签库<%@ taglib prefix="s" uri="/struts-tags"%>,一般的我们不用struts2写一个radio代码如下: <input type="RADIO" name="sex"

table标签里插入form标签的奇怪现象

最近帮朋友处理它的表单无法提交的问题,弄了些时间,发现了一个奇怪的问题 <table> <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="text" name="t" /> <input type="submit" value=&

转:浅谈关于b、h标签的优化技巧

<b>标签优化 <b>标签是一种加粗标记,作用就是加粗文章中的关键词,对于文章中重要的关键词加粗起到有利于用户阅读的作用.<b>标签的使用对于优化的作用是非常大的,我们不能忽视,下面我们来看一下,<b>标签的优化需要注意哪些事项,首先我们先对比一下显示效果差不多的<strong>(加重语气 产生字体加粗Bold的效果)和<h4>标签. <h4>.<strong>和<b>显示效果是一样的,他们都是普通

浅谈我对 jQuery 的了解

总述 0 获取 jQuery 对象 1 对象跳转 2 方法调用 3 常用API 4 $(…); 5 jQuery 对象获取 6 Data 相关方法 7 选择器 8 基本的过滤器 9 内容过滤选择器 10 可见性过滤器 11 属性过滤器 12 孩子过滤器 13 表单过滤器 14 属性相关的方法 15 类相关的操作 16 html相关的操作 17 文本相关的方法 18 值相关的操作 19 在jQuery 对象之间查找 20 串联方法 21 DOM 文档操作方法 22 CSS 相关方法 23 位置计算

浅谈移动前端的最佳实践(转)

前言 这几天,第三轮全站优化结束,测试项目在2G首屏载入速度取得了一些优化成绩,对比下来有10s左右的差距: 这次优化工作结束后,已经是第三次大规模折腾公司框架了,这里将一些自己知道的移动端的建议提出来分享下,希望对各位有用 文中有误请您提出,以免误人自误 技术选型 单页or多页 spa(single page application)也就是我们常常说的web应用程序webapp,被认为是业内的发展趋势,主要有两个优点: ① 用户体验好 ② 可以更好的降低服务器压力 但是单页有几个致命的缺点:

浅谈HTTP响应拆分攻击

在本文中,我们将探讨何谓HTTP响应拆分以及攻击行为是怎样进行的.一旦彻底理解了其发生原理(该原理往往被人所误解),我们就可以探究如何利用响应拆分执行跨站点脚本(简称XSS).接下来自然就是讨论如果目标网站存在响应拆分漏洞,我们要如何利用这一机会组织CSRF(即跨站点伪造请求)攻击.最后,我们一起来看看哪些预防措施能够抵御这些攻击行为.如果大家对这个话题感兴趣,不妨继续读下去. 什么是HTTP响应拆分? 首先让我们设想一下某个具备多种语言选项的页面.该页面的默认语言为英语,但其中同时具备一个下拉