web:js提示框、询问框、输入框的使用

简介

在JavaScript中,常见的对话框有三种:警告框(alert)、确认框(confirm)和提示框(prompt)。

  1. 警告框(alert):用于向用户显示一条消息,并只有一个"确定"按钮。

  2. 确认框(confirm):用于让用户确认某个操作,有"确定"和"取消"两个按钮,根据用户点击的不同,返回布尔值(确定返回true,取消返回false)。

  3. 提示框(prompt):用于提示用户输入一些文本,有"确定"和"取消"两个按钮,以及一个文本输入框。点击"确定"返回输入框中的文本,点击"取消"返回null。

在 JavaScript 中,常用的对话框有三种类型,它们都是浏览器内置的全局方法:

功能介绍

警告框 (Alert)

用于显示警告信息,只有​​确定​​按钮

javascript 复制代码
alert("这是一条警告信息");

确认框 (Confirm)

用于确认操作,有​​确定​ ​和​​取消​​按钮,返回布尔值

javascript 复制代码
const result = confirm("确定要删除吗?");

if(result) {
  // 用户点击了确定

} else {
  // 用户点击了取消

}

提示框 (Prompt)

用于用户输入,包含​​确定​ ​、​​取消​ ​和​​输入框​

javascript 复制代码
const name = prompt("请输入您的名字", "默认名字");

if(name !== null) {
  console.log(`您输入的名字是:${name}`);
} else {
  console.log("您取消了输入");
}

性能说明

类型 返回值 是否阻塞代码
alert() undefined
confirm() true(确定)/false(取消)
prompt() 字符串(确定)/null(取消)

注意事项:

  1. 这些对话框会​​阻塞​​页面操作,直到用户操作

  2. 样式由浏览器决定,无法自定义

  3. 现代前端开发更推荐使用自定义模态框(例如通过 HTML/CSS 实现)

  4. 移动端支持可能有限

替代方案(自定义对话框示例)

html 复制代码
<!-- HTML -->
<div id="myModal" class="modal">
  <div class="modal-content">
    <p id="message"></p>
    <input id="inputField" type="text">
    <button id="confirmBtn">确定</button>
    <button id="cancelBtn">取消</button>
  </div>
</div>

<script>
// JavaScript 控制逻辑
function showCustomPrompt(msg, callback) {
  const modal = document.getElementById('myModal');
  modal.style.display = 'block';
  
  document.getElementById('message').innerText = msg;
  
  document.getElementById('confirmBtn').onclick = () => {
    const val = document.getElementById('inputField').value;
    callback(val);
    modal.style.display = 'none';
  };
  
  document.getElementById('cancelBtn').onclick = () => {
    callback(null);
    modal.style.display = 'none';
  };
}
</script>
相关推荐
伞伞悦读1 小时前
【第36期】Python 目录与路径详解:pathlib、文件遍历、创建、复制、移动和删除风险
开发语言·python
2601_966949654 小时前
只拿到股票代码还不够:量化程序到底还需要哪些标的信息?——从数据建模开始理解股票元数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
m0_734571764 小时前
深入理解5g <十八>传输块tbsize的计算
开发语言·5g
RAN11426760086 小时前
1.3第一个程序的介绍
开发语言·qt
blue_ice .6 小时前
Verilog DDS 数字信号发生器:DAC 输出模拟波形与 ADC 回采观测
开发语言·单片机·嵌入式硬件·fpga开发
远翔调光芯片^138287988727 小时前
ECP5702能芯科技PD取电芯片在市场上的优势有哪些?
开发语言·人工智能·单片机·嵌入式硬件·智能家居
高级程序源7 小时前
django大学生创新创业项目管理系统94923-计算机课程设计、毕业设计
javascript·vue.js·spring boot·后端·python·django·课程设计
泡海椒7 小时前
规则引擎对比:JQuick-Java vs Drools 轻量场景选型对比
java·开发语言
泡泡鱼(敲代码中)8 小时前
Python 容器类型学习笔记:列表、元组、字典、集合
开发语言·笔记·python·pycharm
lizz22768 小时前
Babel插件手册
javascript