当前位置: 首页 > news >正文

javaweb(AI)-----前端

前端代码通过   浏览器对代码渲染(浏览器内核)   转化成网页

HTML

<h1> </h1>

<h1 style="color:red;"> </h1>

CSS

引入方式:1.行内;        2.内部;        3.外部;

get与post请求
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>表单</title>
</head>
<body><form action="/save" method="get">姓名:<input type="text" name="name">年龄:<input type="text" name="age"><input type="submit" value="提交"></form>
</body>
</html>

get 方法会把表单数据附加在 URL 后面,这在提交敏感信息时存在安全风险,因为 URL 可能会被记录在浏览器历史记录、服务器日志里。

action = “提交的url地址”

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>表单</title>
</head>
<body><form action="/save" method="post">姓名:<input type="text" name="name">年龄:<input type="text" name="age"><input type="submit" value="提交"></form>
</body>
</html>

表单提交

注意:表单必须有name属性才能提交

  • name属性
    • 数据提交name 属性主要用于在表单提交时标识表单元素,以键值对的形式将表单数据发送到服务器。例如,在一个登录表单中有用户名和密码输入框,<input type="text" name="username"> 和 <input type="password" name="password"> ,当用户提交表单时,服务器接收到的数据会类似于 username=JohnDoe&password=secret123,通过 name 来区分不同的数据项。
    • 表单元素分组:在 radio(单选框)和 checkbox(复选框) 元素中,具有相同 name 值的元素会被归为一组,例如,<input type="radio" name="gender" value="male"> 和 <input type="radio" name="gender" value="female">,用户只能从这一组中选择一个选项。
  • id属性
    • 唯一标识id 属性用于在整个 HTML 文档中唯一标识一个元素,就像每个人的身份证号一样,同一个页面中的 id 不能重复。它常被用于 CSS 选择器和 JavaScript 中定位特定的元素。例如,使用 CSS 为特定元素设置样式 #myForm { border: 1px solid black; } ,或者在 JavaScript 中获取元素并进行操作,document.getElementById('myForm'); 。
    • 建立关联:可以通过 id 来建立表单元素和其他元素(如 <label> 标签)之间的关联。例如,<label for="username">用户名:</label> <input type="text" id="username"> ,当用户点击 label 文本时,浏览器会自动将焦点切换到 id 为 username 的输入框上,提升用户体验。
表单

<body><!--只有用form围起来的内容才能提交,交到action指定位置--><form action="http://" method="get">用户名:<input type="text" name="username"placeholder="请输入用户名·" value="admin"><br><br><!--    value表示单选或多选时,表单选项提交的值-->密码:<input type="password" name="pwd"placeholder=""><br><br>性别:<input type="radio" value="f" name="sex">女<input type="radio" value="m" name="sex">男<br><br>爱好:<input type="checkbox" value="ball" name="hobby">篮球<input type="checkbox" value="swim" name="hobby">游泳<input type="checkbox" value="draw" name="hobby">画画<input type="checkbox" value="sing" name="hobby">唱歌<br><br>学校:<select><!--        value是提交到后台的值--><option value="1">学校a</option><option value="2">学校b</option><option value="3" selected>学校c</option><option value="4">学校d</option></select><br><br><textarea >文本域</textarea><br><br><input type="button" value="普通按钮" onclick="alert('hello')"><input type="submit" value="提交按钮"><input type="reset" value="重置按钮"></form></body>

value表示单选或多选时,表单选项提交的值

type = "button" 是普通按钮,需要搭配js实现交互效果

type = "submit"  可以直接提交

label 元素能提高表单的可访问性,用户点击 label 文本时,对应的输入框会获得焦点。

用label标签进行包裹,可以提高用户体验

        <label for="name">姓名:</label><input type="text" id="name" name="name">

label 要与 id = name 的表单进行绑定

点击一下“姓名”,光标就会聚焦于姓名输入框

HTML CSS 总结

JavaScript

js是一门脚本语言(不用编译直接运行),控制网页行为

组成: ECMAScript;   BOM;    DOM

核心语法

1.引入

2.

自定义对象

    <script>// 1.自定义对象let user = {name : '张三',age : 18,sex : '男',sing(){console.log('我会唱歌');}}// 2.调用对象属性console.log(user.name);console.log(user.age);console.log(user.sex);user.sing();</script>

注意在箭头函数中,this指向当前对象的父级(Window)

所以在js中自定义函数时不要使用箭头函数

JSON

js对象标记法。即js对象标记书写法的文本。

作为数据载体,文本字符串格式。

前端给服务器发送请求,服务器给前端响应结果。

json和自定义对象的区别:所有的key都用“”

注意:仅仅是看起来像,本质不一样

如果是用自定义对象,alert结果如下图:

要想显示字符,就用  alert(JSON.stringify(person));

若要  json字符串-> js对象:  

        let personJson = '{"name":"zero", "age":18}';

        alert(JSON.parse(personJson).age);

DOM

<body><h1 id="title1">11111</h1><h1>22222</h1><h1>33333</h1><script>// 1.修改第一个h1// 1.1 获取DOM对象let h1 = document.querySelector('#title1');// 1.2 调用方法h1.innerHTML = '修改后的内容,不再是111';</script>
</body>

事件监听

<body><input type="button" id="btn1" value="点我一下1"><input type="button" id="btn2" value="点我一下22"><input type="button" id="btn3" value="点我一下3"><script>//绑定 事件监听document.querySelector('#btn1').addEventListener('click',function() {console.log('是啦');});document.querySelector('#btn2').addEventListener('click',() => {console.log('是啦lalala');});document.querySelector('#btn3').onclick = () => {console.log('3333333333');}</script>
</body>

addEventListener 可以多次绑定同一事件

onclick 后面的会被覆盖

  // 1.获取所有数据行let trs = document.querySelectorAll('tbody tr');// 2.循环遍历数据行for (let i = 0; i < trs.length; i++) {// 为当前数据行添加鼠标进入事件监听trs[i].addEventListener('mouseenter',function() {// 鼠标进入后,当前数据行背景色变为淡蓝色this.style.backgroundColor = '#ADD8E6';});// 为当前数据行添加鼠标离开事件监听trs[i].addEventListener('mouseleave',function() {// 鼠标离开后,当前数据行背景色恢复为白色this.style.backgroundColor = '#f0f0f0';});}

优化JS:

1. 模块化

2. import

3. export

JQuery

是JS库,为提供Ajax交互

下载jquery-min.js,在项目中引入

基础用法

 $('#d').css('background','blue');$(function () {alert($("#d").html())});function change() {$("#d").html("<span style='color: #e54d4d'>这是span</span>")}
    <script>$(function (){$('#btn').click(function (){$("*").css("color","red");$("#e").css({"background-color":"pink","font-size":"20px"})$("p").hide()})})</script><div id="d">  div1 </div><div id="e">  div2 </div><div id="f">  div3 </div><p>这是标签</p><span>这是span</span><button id="btn">点击</button>
表单元素
 $(function (){$("#btn").click(function (){console.log($("#username").val());})})

最外层function是在解析文档

里面层在给id=btn的按钮绑定点击事件

$(item).val():将item用$()先包裹成JQuery对象,再用.val()获取值

Vue3

用于构建用户界面的渐进式的JavaScript框架

构建用户界面:将Json格式转化为用户可见形式(数据渲染)

渐进式:Vue核心包,功能组件,形成生态

框架

 <div id="app"><h1>{{message}}</h1></div><script type="module">import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'createApp({data(){return {message: 'Hello Vue'}}}).mount('#app')</script>

v-for

v-bind

插值表达式不能在标签内使用

v-if       v-show

v-model

v-on

Ajax

异步的 js 和 XML

XML:可扩展标记语言,本质是一种数据格式,存储复杂数据结构

异步交互:在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页

同步与异步

Axios技术

对原生的Ajax进行封装,简化书写

混淆

name 

value 


文章转载自:

http://qR9MpBtf.bkqrj.cn
http://St4Oyq9Y.bkqrj.cn
http://6O7Yx3eM.bkqrj.cn
http://htIXWjB9.bkqrj.cn
http://rQgz3mHY.bkqrj.cn
http://OnZSo5CW.bkqrj.cn
http://MnPJaUF5.bkqrj.cn
http://nhDvVLFw.bkqrj.cn
http://4q4pyx44.bkqrj.cn
http://Q2icJBhB.bkqrj.cn
http://VFtU9Ba0.bkqrj.cn
http://xSpmW522.bkqrj.cn
http://D9jrpCTP.bkqrj.cn
http://cGdYdxVZ.bkqrj.cn
http://6zyglSKu.bkqrj.cn
http://Xv2uJx4Q.bkqrj.cn
http://syE71AvK.bkqrj.cn
http://vssILO0I.bkqrj.cn
http://Fw5RwHlW.bkqrj.cn
http://0HCIeMMd.bkqrj.cn
http://0p70vBjn.bkqrj.cn
http://45lrTuP2.bkqrj.cn
http://XMjs4wLy.bkqrj.cn
http://K9ZMsoRF.bkqrj.cn
http://GcFO1CII.bkqrj.cn
http://YxpG1C7t.bkqrj.cn
http://1LCkoypH.bkqrj.cn
http://Pb64Db7E.bkqrj.cn
http://oUChEOLj.bkqrj.cn
http://HBlD4NvZ.bkqrj.cn
http://www.dtcms.com/a/367293.html

相关文章:

  • C++11 类功能与包装器
  • Qt---connect建立对象间的通信链路
  • vLLM显存逆向计算:如何得到最优gpu-memory-utilization参数
  • 第15章 Jenkins最佳实践
  • 【倒计时2个月】好•真题资源+专业•练习平台=高效备赛2025初中古诗文大会
  • openEuler2403安装部署Kafbat
  • matlab 数据分析教程
  • git还原操作
  • Spring Cloud OpenFeign 核心原理
  • 【华为培训笔记】OptiX OSN 9600 设备保护专题
  • 解决 ES 模块与 CommonJS 模块互操作性的关键开关esModuleInterop
  • 解密llama.cpp:Prompt Processing如何实现高效推理?
  • 抽象与接口——Java的“武器模板”与“装备词条”
  • 数组本身的深入解析
  • Linux Centos7搭建LDAP服务(解决设置密码生成密文添加到配置文件配置后输入密码验证报错)
  • 记录一下tab梯形圆角的开发解决方案
  • java面试中经常会问到的dubbo问题有哪些(基础版)
  • illustrator-04
  • 观察者模式-红绿灯案例
  • 【LLM】FastMCP v2 :让模型交互更智能
  • Linux下开源邮件系统Postfix+Extmail+Extman环境部署记录
  • 在Anaconda下安装GPU版本的Pytorch的超详细步骤
  • 追觅科技举办2025「敢梦敢为」发布会,发布超30款全场景重磅新品
  • 从“AI炼金术”到“研发加速器”:一个研发团队的趟坑与重生实录
  • B站 XMCVE Pwn入门课程学习笔记(9)
  • 【数学建模学习笔记】机器学习回归:XGBoost回归
  • 本地部署开源数据生成器项目实战指南
  • Agentic AI 架构全解析:到底什么是Agentic AI?它是如何工作的
  • AI助力软件UI概念设计:卓伊凡收到的客户设计图引发的思考
  • 零样本学习与少样本学习