黑马程序员--HTML基础之Form表单

本文介绍WindowsPhone7手机开发与.NET培训的相关知识,包括表单元素的使用,如Input、Select等,以及如何提交表单数据至服务器。文章还详细解释了各表单元素的功能和用法,如文本输入、按钮、复选框、单选按钮、文件上传、图片按钮等,并提供示例代码。此外,还涉及Select元素的使用,包括选项、大小、多选等功能。
---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------


<form>标签为表单标签,如果要把数据提交到服务器则需要将<Input>,<Select>,<TextArea>等元素添加到<form>中;action属性指定要将表单提交到哪里,例如:<form action=“Register.aspx”></form>
  • Input
    • <input>是主要的表单元素,type指定类型,主要包括:submit(提交按钮),button(普通按钮),checkbox(复选框),file(文件选择框),hidden(隐藏字段),password(密码输入框),image(图片按钮),radio(单选按钮),reset(重置按钮),text(文本框). 例如:
      <form action="Register.aspx">
      <input type="text" size="50"></input>
      <input type="submit" value="注册"/>
      <input type="radio" name="sex" value="男">男</input>
      <input type="radio" name="sex" value="女">女</input>
      <input type="image" src="26311.png" width=20 hight=20/><!--图片按钮,这里也可以设置图片显示的大小-->
      </form>
    • submit
      submit按钮点击后,表单就会被提交给服务器,中文IE下默认按钮文本为“提交查询”,可以通过设置value属性来自定义显示的文本。例如:<input type="submit" value="注册"/>
    • text
      size属性为宽度,value为值,maxlength用于设置允许输入的最大长度,readonly为只读。
    • checkbox
      checked属性表示是否被选中。<input type="checkbox" checked="checked"/>
    • radio
      相同name属性的为一组,不同radio设定不同的值,这样通过取指定name的value就知道谁被选中了
      <input type="radio" name="sex" value="男">男</input>
      <input type="radio" name="sex" value="女">女</input>
    • file
      使用file则<form>的enctype属性必须设置为multipart/form-data , method属性为post

    • image
      使用src来指定要显示的图片,以实现美化的按钮.



  • Select
    用来创建类似于winform中的combobox和listbox
    • size属性大于1,就是listbox,否则就是combobox
    • <select multiple>或者<select multiple="multiple">(推荐)就是可以多选的listbox
    • select中的项是<option>,例如<option>北京</option>
      还可以设定项的值,例如:<option value="1">北京</option>
    • 将一个<option>设为选中:
      <option selected>北京</option>或者<option selected="selected">北京</option>(推荐),就可以将将一个值设置为选中状态 。
    • 如何实现不选择:
      添加一个<option value="-1">--不选择--</option>,然后编程判断select选中的值如果是-1就是不选择。
    • Optgroup分组选项:
      分组选项本身不会被选中,无论对于下拉菜单还是列表框都适用。
      label属性为显示的组名,例如
      <optgroup label="A区">
          <option>北京</option>
          <option>上海</option>
          <option selected="selected">深圳</option>
      </optgroup>
          <optgroup label="B区 ">
          <option>郑州</option>
          <option>长沙</option>
          <option selected="selected">西安</option>
      </optgroup>
      实现的效果

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------详细请查看: http://net.itheima.com/
### 黑马程序员 HTML 和 CSS Day 14 案例 #### 表单验证与提交处理 在第十四天的学习中,重点在于表单的高级应用和交互效果。通过使用 JavaScript 结合 HTML 和 CSS 来增强用户体验。 ```html <form id="registrationForm"> <div> <!-- 使用 label 标签关联输入框 --> <label for="username">用户名:</label> <input type="text" name="username" required /> </div> <div> <label for="password">密码:</label> <input type="password" name="password" pattern=".{6,}" title="至少六个字符" required /> </div> <button type="submit">注册</button> </form> ``` 为了确保用户填写的信息有效,在 `<form>` 中加入了 `required` 属性来防止空白提交,并利用 `pattern` 对特定字段设置正则表达式的约束条件[^5]。 #### 动态样式调整 当页面加载完成或者发生某些事件时,可以通过JavaScript动态改变元素的样式: ```javascript document.getElementById('registrationForm').addEventListener('submit', function(event){ event.preventDefault(); // 阻止默认行为 const form = this; if (validateForm(form)) { document.querySelector('.success-message').style.display = 'block'; setTimeout(() => { form.reset(); document.querySelector('.success-message').style.display = 'none'; }, 3000); } }); function validateForm(form) { let isValid = true; Array.from(form.elements).forEach(element => { if (!element.checkValidity()) { element.classList.add('invalid'); isValid = false; } else { element.classList.remove('invalid'); } }); return isValid; } ``` 这段脚本会在点击按钮前先做一次简单的客户端校验,如果成功,则显示一条成功的消息并重置表单;如果有任何错误,则给相应的输入项加上 `.invalid` 类以便于视觉反馈[^2]。 #### 自定义伪类选择器的应用 对于更复杂的UI需求,可以自定义一些CSS伪类来进行特殊状态下的样式控制: ```css /* 定义全局变量 */ :root { --primary-color: #ff8a80; } /* 当鼠标悬停在版权信息上的链接时变色 */ .copyright a:hover { color: var(--primary-color); } .invalid { border-color: red !important; box-shadow: 0 0 5px rgba(255, 0, 0, .7); } ``` 这里不仅实现了基本的功能性操作,还考虑到了美观性和易用性的提升[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值