整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

JavaScript中常用的输入输出语句介绍

日常开发中,为了方便数据的输入和输出,JavaScript提供了一些常用的输入输出语句,具体如表1-3所示。
表1常用的输入输出语句

类型

语句

说明

输入

prompt()

用于在浏览器中弹出输入框,用户可以输入内容

输出

alert()

用于在浏览器中弹出警告框

document.write()

用于在网页中输出内容

console.log()

用于在控制台中输出信息

接下来将分别演示document.write0、console.log0和promptO的使用。

1. document.write()

document.write0的输出内容中如果含有HTML标签,会被浏览器解析。下面利用documenL.write0在页面中输出“我是document.write0语句!”,示例代码如下。

document.write('我是document.write()语句!');

2. console.log()

利用console.log0语句在控制台输出“我是console.log0语句!”,示例代码如下。

console.log('我是console.log()语句!');

console:.log0的输出结果需要在浏览器的控制台中查看。在Chrome 浏览器中按“F12”键(或在网页空白区域右击,在弹出的菜单中选择“检查”)启动开发者工具,然后切换到“Console”(控制台)面板,即可看到console.log0的输出结果。

3.prompt()

利用prompt0语句实现在页面中弹出一个带有提示信息的输入框,示例代码如下。

prompt(请输入姓名:');

上述示例代码运行后,将在页面中弹出一个输人框并提示用户“请输人姓名:”提示框。

、知识点

1、JS支持事件处理业务逻辑模型,常用事件

Click 单击

Dblclick 双击

Focus 聚焦

Blur 失去焦点

Mouseover 鼠标悬停

Mousemove 鼠标移动

Mouseout 鼠标移开

Change 改变

Load 页面加载

Keydown 键按下

2、调用

找到对应的标签,加上属性 on事件关键字=”JS代码”。一般调用的JS代码逻辑很复杂,会用函数封装。

3、DOM操作:Document Object Model,文档对象模型。网页文档由一个个的HTML标签组成,操作网页组成元素(标签)。

document.getElementById();

document.getElementsByName();

document.getElementsByTagName();

4、表单提交

方式一:document.getElementById("form1").submit();

方式二:提交按钮类型设置为submit,调用的函数必须要有一个返回值,返回false不提交,true提交;调用函数时前面再加个return 关键字。

5、回车验证的实现。利用用户敲击键盘判断用户按下的是回车键调用检测函数即可。

6、事件参数:event代表对应的标签执行的动作。比如文本框按下键判断是不是回车

Onkeydown=”Test(event);”

<script>

function Test(e){

var e=e||window.event;

if(e.keyCode==13){}

}

</script>

鼠标悬停,显示该位置坐标(相对)

Onmouseover=”alert(event.clientX+”|”+event.clientY);”

二、表单验证

示例源码:

<html>

<head><title>XXX 用户注册</title></head>

<body style="margin-left:auto; margin-right:auto; text-align:center;">

<form name="form1" id="form1" action="register.php" method="post">

<table>

<caption><h3>用户注册</h3></caption>

<tr><th>用户名:</th><td><input onKeyDown="EnterCheck(event);" name="loginid" id="loginid" placeholder="请输入用户名" /></td></tr>

<tr><th>密码:</th><td><input name="pwd" id="pwd" type="password" placeholder="请输入密码" onKeyDown="EnterCheck(event);" /></td></tr>

<tr><th>确认密码:</th><td><input name="repwd" id="repwd" type="password" placeholder="请输入确认密码" onKeyDown="EnterCheck(event);" /></td></tr>

<tr><th>昵称:</th><td><input type="text" name="uname" id="uname" placeholder="请输入昵称" onKeyDown="EnterCheck(event);" /></td></tr>

<tr><th>性别:</th><td><input type="radio" checked id="sex" name="sex" />男<input name="sex" type="radio" id="sex" />女

</td></tr>

<tr><th>喜欢的颜色:</th><td>

<select name="ucolor" id="ucolor">

<option selected value="0">==请选择==</option>

<option value="red">--红色--</option>

<option value="green">--绿色--</option>

<option value="blue">--蓝色--</option>

</select>

</td></tr>

<tr><th>爱好:</th><td><input value="playcomputer" name="cbof[]" id="cbof[]" type="checkbox">玩电脑

<input type="checkbox" value="readingbook" name="cbof[]" id="cbof[]" >看书

<input type="checkbox" value="dosporting" name="cbof[]" id="cbof[]">做运动

</td></tr>

<tr><th>个人简介:</th><td>

<textarea rows="4" name="describe" id="describe" onKeyDown="EnterCheck(event);"></textarea>

</td></tr>

<tr><td></td><td>

<input type="button" value="提交" onClick="return CheckInput();">

<input type="reset" value="重置">

<input type="button" value="取消">

</td></tr>

</table>

</form>

</body>

<script language="javascript" type="text/javascript">

//验证用户输入

function CheckInput(){

var result=false;

//获取用户名文本框对象

var loginid=document.getElementById("loginid");

var pwd=document.getElementById("pwd");

var repwd=document.getElementById("repwd");

var uname=document.getElementById("uname");

var ucolor=document.getElementById("ucolor");

var describe=document.getElementById("describe");

if(CheckIsSafeInputText(loginid,"用户名")){}

else if(CheckIsSafeInputText(pwd,"密码")){}

else if(repwd.value!=pwd.value){

alert("密码与确认密码不一致");

repwd.focus();

}

else if(CheckIsSafeInputText(uname,"昵称")){}

else if(ucolor.value=="0"){

alert("请至少选择一个喜欢的颜色");

ucolor.focus();

}

else if(describe!=null && describe.value.length>256){

alert("个人简介不得超出256个字符");

describe.focus();

}

else

//document.getElementById("form1").submit();

result=true;

return result;

}

//验证文本框是否合法,非法返回true,合法返回false

function CheckIsSafeInputText(obj,msg){

var result=true;

if(obj==null || obj.value=="")

{

alert(msg+"不得为空");//+为字符串连接符

obj.focus();

}

else if(obj.value.length<4 || obj.value.length>16){

alert(msg+"长度在4~16个字符以内");

obj.focus();

}

else

result=false;

return result;

}

//回车验证

function EnterCheck(e){

var e=e || window.event;

if(e.keyCode==13)

CheckInput();

}

</script>

</html>

三、JS外链

JS的代码抽出去作为一个单独的文件,命名要对应,相应的页面通过<script language="javascript" type="text/javascript" src="相对路径"></script>来调用

现代web开发中,表单是用户与网站互动的重要方式之一。HTML5为表单提交提供了强大的功能和丰富的输入类型,让收集和验证用户输入数据变得更加容易和安全。本文将详细介绍HTML5表单的各个方面,包括基本结构、输入类型、验证方法和提交过程。

基本结构

HTML表单由<form>标签定义,它可以包含输入字段、标签、按钮等元素。一个基本的表单结构如下所示:

<form action="/submit_form" method="post">
  <label for="name">姓名:</label>
  <input type="text" id="name" name="name" required>
  
  <label for="email">电子邮箱:</label>
  <input type="email" id="email" name="email" required>
  
  <input type="submit" value="提交">
</form>

在这个例子中,表单有两个输入字段:姓名和电子邮箱。每个输入字段都有一个<label>标签,这不仅有助于用户理解输入的内容,也有助于屏幕阅读器等辅助技术。<form>标签的action属性定义了数据提交到服务器的URL,method属性定义了提交数据的HTTP方法(通常是post或get)。

输入类型

HTML5提供了多种输入类型,以支持不同的数据格式和设备。

文本输入

<!-- 单行文本 -->
<input type="text" name="username" placeholder="请输入用户名" required>

<!-- 密码 -->
<input type="password" name="password" required minlength="8">

<!-- 邮箱 -->
<input type="email" name="email" required placeholder="example@domain.com">

<!-- 搜索框 -->
<input type="search" name="search" placeholder="搜索...">

数值输入

<!-- 数值 -->
<input type="number" name="age" min="18" max="100" step="1" required>

<!-- 滑动条 -->
<input type="range" name="volume" min="0" max="100" step="1">

<!-- 电话号码 -->
<input type="tel" name="phone" pattern="^\+?\d{0,13}" placeholder="+8613800000000">

日期和时间输入

<!-- 日期 -->
<input type="date" name="birthdate" required>

<!-- 时间 -->
<input type="time" name="appointmenttime">

<!-- 日期和时间 -->
<input type="datetime-local" name="appointmentdatetime">

选择输入

<!-- 复选框 -->
<label><input type="checkbox" name="interest" value="coding"> 编程</label>
<label><input type="checkbox" name="interest" value="music"> 音乐</label>

<!-- 单选按钮 -->
<label><input type="radio" name="gender" value="male" required> 男性</label>
<label><input type="radio" name="gender" value="female"> 女性</label>

<!-- 下拉选择 -->
<select name="country" required>
  <option value="china">中国</option>
  <option value="usa">美国</option>
</select>

特殊输入

<!-- 颜色选择器 -->
<input type="color" name="favcolor" value="#ff0000">

<!-- 文件上传 -->
<input type="file" name="resume" accept=".pdf,.docx" multiple>

验证方法

HTML5表单提供了内置的验证功能,可以在数据提交到服务器之前进行检查。

必填字段

<input type="text" name="username" required>

正则表达式

<input type="text" name="zipcode" pattern="\d{5}(-\d{4})?" title="请输入5位数的邮政编码">

数值范围

<input type="number" name="age" min="18" max="99">

长度限制

<input type="text" name="username" minlength="4" maxlength="8">

表单提交

当用户填写完表单并点击提交按钮时,浏览器会自动检查所有输入字段的有效性。如果所有字段都满足要求,表单数据将被发送到服务器。否则,浏览器会显示错误信息,并阻止表单提交。

<input type="submit" value="提交">

可以使用JavaScript来自定义验证或处理提交事件:

document.querySelector('form').addEventListener('submit', function(event) {
  // 检查表单数据
  if (!this.checkValidity()) {
    event.preventDefault(); // 阻止表单提交
    // 自定义错误处理
  }
  // 可以在这里添加额外的逻辑,比如发送数据到服务器的Ajax请求
});

完整例子

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单提交并显示JSON</title>
</head>
<body>

<!-- 表单定义 -->
<form id="myForm">
  <label for="name">姓名:</label>
  <input type="text" id="name" name="name">
  <br>

  <label for="email">电子邮件:</label>
  <input type="email" id="email" name="email">
  <br>

  <input type="button" value="提交" onclick="submitForm()">
</form>

<script>
// JavaScript函数,处理表单提交
function submitForm() {
  // 获取表单元素
  var form = document.getElementById('myForm');
  
  // 创建一个FormData对象
  var formData = new FormData(form);
  
  // 创建一个空对象来存储表单数据
  var formObject = {};
  
  // 将FormData转换为普通对象
  formData.forEach(function(value, key){
    formObject[key] = value;
  });
  
  // 将对象转换为JSON字符串
  var jsonString = JSON.stringify(formObject);
  
  // 弹出包含JSON字符串的对话框
  alert(jsonString);
  
  // 阻止表单的默认提交行为
  return false;
}
</script>

</body>
</html>

在这个例子中:

  1. 我们定义了一个包含姓名和电子邮件输入字段的表单,以及一个按钮,当点击按钮时会调用submitForm函数。
  2. 在submitForm函数中,我们首先获取表单元素并创建一个FormData对象。然后,我们遍历FormData对象,将表单数据复制到一个普通的JavaScript对象formObject中。
  3. 接着,我们使用JSON.stringify方法将formObject转换成JSON字符串。
  4. 最后,我们使用alert函数弹出一个包含JSON字符串的对话框。

注意,这个例子中我们使用了type="button"而不是type="submit",因为我们不希望表单有默认的提交行为。我们的JavaScript函数submitForm会处理所有的逻辑,并且通过返回false来阻止默认的表单提交。如果你想要使用type="submit",你需要在<form>标签上添加一个onsubmit="return submitForm()"属性来代替按钮上的onclick事件。

结论

HTML5的表单功能为开发者提供了强大的工具,以便创建功能丰富、用户友好且安全的网站。通过使用HTML5的输入类型和验证方法,可以确保用户输入的数据是有效的,同时提高用户体验。随着技术的不断进步,HTML5表单和相关API将继续发展,为前端工程师提供更多的可能性。