Layui 新增表单demo 音频+图片

实现在线播放Wav音频文件,支持IE和Google 最近在弄一个在线播放Wav音频文件的功能,发现audio只支持在google浏览器下才能访问,ie是不支持的,但是ie支持embed标签的播放。 getWebIE:function(){ var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isIE = userAgent.indexOf("compat... 阅读详情

样式 

代码:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
	<title>....</title>
	<link rel="stylesheet" rev="stylesheet" href="http://www.qubaobei.com/badmin/city/style/style.css?v=4" type="text/css" />
	<link rel="stylesheet" href="//www.qubaobei.com/kadmin/zlmm/static/admin/lib/layui/css/layui.css" id="layui">
</head>
<body>

<fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;"> <legend>添加新期数</legend></fieldset>
<div style="margin-top: 20px;">
	<form class="layui-form" action="" method="post">
		<div class="layui-form-item">
			<div class="layui-inline" >
				<label class="layui-form-label">期数</label>
				<div class="layui-input-inline" style="width: 100px">
					<input lay-verify="required|number" name="act_num" id="act_num" placeholder="请输入期数" autocomplete="off" class="layui-input" style="width: 100px">
				</div>
			</div>		
		</div>
		<div class="layui-form-item">
			<div class="layui-inline" >
				<label class="layui-form-label">帖子ID</label>
				<div class="layui-input-inline" style="width: 100px">
					<input lay-verify="required|number" name="post_id" id="post_id" placeholder="请输入id" autocomplete="off" class="layui-input" style="width: 100px">
				</div>
				<div class="layui-input-inline">
					<input type="text" id="post_title" placeholder="自动匹配" readonly="readonly" autocomplete="off" class="layui-input" style="width: 390px">
				</div>
			</div>
		</div>
		<div class="layui-form-item">
			<div class="layui-inline" >
				<label class="layui-form-label">顶部标题</label>
				<div class="layui-input-inline">
					<input type="text" lay-verify="required" name="title" placeholder="活动页顶部标题" autocomplete="off" class="layui-input" style="width: 500px">
				</div>
			</div>
		</div>
		<div class="layui-form-item">
			<div class="layui-inline" >
				<label class="layui-form-label">分享文案</label>
				<div class="layui-input-inline">
					<input type="text" lay-verify="required" name="share_txt" placeholder="分享文案" autocomplete="off" class="layui-input" style="width: 500px">
				</div>
			</div>
		</div>
<!-- 		<div class="layui-form-item">
			<div class="layui-inline">
				<label class="layui-form-label">话题用户</label>
				<div class="layui-input-inline" style="width: 100px">
					<input lay-verify="required|number" id="user_id" name="user_id" autocomplete="off" style="width: 100px" class="layui-input" value="" placeholder="user_id">
				</div>
				<div class="layui-input-inline">
					<input type="text" readonly="readonly" id="nickname" placeholder="自动匹配" class="layui-input" style="width: 150px" value="">
				</div>
			</div>
		</div>
		<div class="layui-form-item">
			<div class="layui-inline" >
				<label class="layui-form-label">话题标题</label>
				<div class="layui-input-inline">
					<input type="text" lay-verify="required" name="talk_title" placeholder="活动页话题栏标题" autocomplete="off" class="layui-input" style="width: 500px">
				</div>
			</div>
		</div> -->
		<div class="layui-form-item layui-form-text">
			<label class="layui-form-label">本期简介</label>
			<div class="layui-input-block">
				<textarea lay-verify="required" name="description" placeholder="请输入内容" class="layui-textarea" style="width: 500px"></textarea>
			</div>
		</div>
		<div class="layui-form-item">
			<div class="layui-inline">
				<label class="layui-form-label">背景图</label>
				<div class="layui-input-block">
					<button type="button" class="layui-btn layui-btn-sm layui-btn-primary" id="bg_pic_upload">图片上传</button> 
					<blockquote class="" style="margin-top: 5px;">
						<div class="layui-upload-list" id="bg_pic"></div>
					</blockquote>
				</div>
				<div class="layui-inline" style="display: none;">
					<label class="layui-form-label">背景图</label>
					<div class="layui-upload-list">
						<input type="text" id="bg_pic_url" lay-verify="verify_bg_pic" name="bg_pic_url" value="" class="layui-input">
					</div>
				</div>
			</div>
		</div>
		<div class="layui-form-item">
			<div class="layui-inline">
				<label class="layui-form-label">介绍图</label>
				<div class="layui-input-block">
					<button type="button" class="layui-btn layui-btn-sm layui-btn-primary" id="intro_pic_upload">图片上传</button> 
					<blockquote class="" style="margin-top: 5px;">
						<div class="layui-upload-list" id="intro_pic"></div>
					</blockquote>
				</div>
				<div class="layui-inline" style="display: none;">
					<label class="layui-form-label">介绍图</label>
					<div class="layui-upload-list">
						<input type="text" id="intro_pic_url" lay-verify="verify_intro_pic" name="intro_pic_url" value="" class="layui-input">
					</div>
				</div>
			</div>
		</div>
		<div class="layui-form-item">
			<div class="layui-inline">
				<label class="layui-form-label">分享图</label>
				<div class="layui-input-block">
					<button type="button" class="layui-btn layui-btn-sm layui-btn-primary" id="share_pic_upload">图片上传</button> 
					<blockquote class="" style="margin-top: 5px;">
						<div class="layui-upload-list" id="share_pic"></div>
					</blockquote>
				</div>
				<div class="layui-inline" style="display: none;">
					<label class="layui-form-label">分享图</label>
					<div class="layui-upload-list">
						<input type="text" id="share_pic_url" lay-verify="verify_share_pic" name="share_pic_url" value="" class="layui-input">
					</div>
				</div>
			</div>
		</div>
		<div class="layui-form-item">
			<div class="layui-inline">
				<label class="layui-form-label">轮播图</label>
				<div class="layui-input-block">
					<button type="button" class="layui-btn layui-btn-sm layui-btn-primary" id="car_pic_upload">图片上传</button> 
					<blockquote class="" style="margin-top: 5px;">
						<div class="layui-upload-list" id="car_pic"></div>
					</blockquote>
				</div>
				<div class="layui-inline" style="display: none;">
					<label class="layui-form-label">轮播图</label>
					<div class="layui-upload-list">
						<input type="text" id="car_pic_url" lay-verify="verify_car_pic" name="car_pic_url" value="" class="layui-input">
					</div>
				</div>
			</div>
		</div>
		<div class="layui-form-item">
			<label class="layui-form-label">音频文件</label>
			<div class="layui-input-block">
					<button type="button" class="layui-btn layui-btn-sm layui-btn-primary" id="mp3_upload">音频上传</button> 
	
				<div class="layui-inline" >
					<div class="layui-input-inline">
						<audio controls="controls" id="mp3Btn">
						</audio>
						<input type="text" lay-verify="verify_mp3" name="mp3_url" id="mp3_url" readonly="readonly" placeholder="音频地址" autocomplete="off" class="layui-input" style="width: 500px;display: none;">
					</div>
				</div>
			</div>
		</div>
		<div class="layui-form-item">
			<div class="layui-input-block">
			  <button class="layui-btn" lay-submit lay-filter="submit">立即提交</button>
			  <button type="reset" class="layui-btn layui-btn-primary">重置</button>
			</div>
		</div>
	</form>
</div>
</body>

<script src="layui/layui.js"></script>

<script>
  layui.use(['element','jquery','form','upload'], function () {
    var $ = layui.jquery,
		upload = layui.upload,
		form  = layui.form;
		var url = 'sub/yu.php';

		//bg_pic上传
		upload.render({
			elem: '#bg_pic_upload'
			,url: url+'?method=upload&type=images'
			,method: 'get'
			,acceptMime: 'image/*'
			,done: function(res,index){
				if(res.code){
					$('#bg_pic').append('<img src="'+ res.url +'" alt="" width="100" style="float:left;margin-right:5px;" onclick="previewImg(this)">')
					$('#bg_pic_url').val(res.url)
				}else{
					layer.msg(res.msg, {icon: 2}); 
				}
			}
		});
		//intro_pic上传
		upload.render({
			elem: '#intro_pic_upload'
			,url: url+'?method=upload&type=images'
			,method: 'get'
			,acceptMime: 'image/*'
			,done: function(res,index){
				if(res.code){
					$('#intro_pic').append('<img src="'+ res.url +'" alt="" width="100" style="float:left;margin-right:5px;" onclick="previewImg(this)">')
					$('#intro_pic_url').val(res.url)
				}else{
					layer.msg(res.msg, {icon: 2}); 
				}
			}
		});
		//share_pic上传
		upload.render({
			elem: '#share_pic_upload'
			,url: url+'?method=upload&type=images'
			,method: 'get'
			,acceptMime: 'image/*'
			,done: function(res,index){
				if(res.code){
					$('#share_pic').append('<img src="'+ res.url +'" alt="" width="100" style="float:left;margin-right:5px;" onclick="previewImg(this)">')
					$('#share_pic_url').val(res.url)
				}else{
					layer.msg(res.msg, {icon: 2}); 
				}
			}
		});
		//share_pic上传
		upload.render({
			elem: '#car_pic_upload'
			,url: url+'?method=upload&type=images'
			,method: 'get'
			,acceptMime: 'image/*'
			,done: function(res,index){
				if(res.code){
					$('#car_pic').append('<img src="'+ res.url +'" alt="" width="100" style="float:left;margin-right:5px;" onclick="previewImg(this)">')
					$('#car_pic_url').val(res.url)
				}else{
					layer.msg(res.msg, {icon: 2}); 
				}
			}
		});
		//音频上传
		upload.render({
			elem: '#mp3_upload'
			,url: url+'?method=upload&type=audio'
			,method: 'get'
			,accept: 'audio'
			,acceptMime: 'audio/mp3'
			,done: function(res,index){
				console.log(res);
				if(res.code){
					$('#mp3Btn').append('<source src="'+ res.url +'" type="audio/mpeg">')
					$('#mp3_url').val(res.url);
				}else{
					layer.msg(res.msg, {icon: 2}); 
				}
			}
		});
	//失去焦点事件
	$('#post_id').blur(function(){
		var post_id = $('#post_id').val();
		if(post_id){
			var data = {'method':'get_bbs_post_info','post_id':post_id};
			asynData(url,data,'post_title');
		}
	});

	$('#user_id').blur(function(){
		var user_id = $('#user_id').val();
		if(user_id){
			var data = {'method':'get_user_info','user_id':user_id};
			asynData(url,data,'nickname');
		}
	});	

	function asynData(url,data,t){
		$.post(
			url,
			data,
			function(data){
				if(data.ret == 1){
					if(t != 'nickname' && t != 'post_title'){
						t.val(data.msg);
					}else{
						$('#'+t).val(data.msg);
					}
				}else{
					var index = layer.alert(data.msg,{icon:2},function(){ layer.close(index);});
				}
			},'json');
	}
	form.verify({
		verify_intro_pic: function(value, item){ //value:表单的值、item:表单的DOM对象
			if(value==''){
				return '介绍图未上传';
			}
		},
		verify_bg_pic: function(value, item){ //value:表单的值、item:表单的DOM对象
			if(value==''){
				return '背景图未上传';
			}
		},
		verify_share_pic: function(value, item){ //value:表单的值、item:表单的DOM对象
			if(value==''){
				return '分享图未上传';
			}
		},
		verify_car_pic: function(value, item){ //value:表单的值、item:表单的DOM对象
			if(value==''){
				return '分享图未上传';
			}
		},
		verify_mp3: function(value, item){ //value:表单的值、item:表单的DOM对象
			if(value==''){
				return '音频资源未上传';
			}
		},		
	});     
	//监听提交
	form.on('submit(submit)', function(data){
		data.field.method = 'insert_act_yu';
		//var	da = JSON.stringify(data.field);
		var	da = data.field;
		submitR(da);
		return false;
	});
	function submitR(da){
		console.log(da);
		$.post(
			url,
			da,
			function(obj){
				console.log(obj);
				if(obj.ret == 1){
					var index = layer.msg('添加成功',{time: 1000},function(){
						layer.close(index);
						// 获得frame索引
						var p_index 	= parent.layer.getFrameIndex(window.name);
						parent.tableReload();
						parent.layer.close(p_index);
						});
				}else{
					var index = layer.alert(obj.msg,{icon:2},function(){ layer.close(index);});
				}
			},'json').error(function(ooo) { console.log(JSON.stringify(ooo)); });
	}
	//回复者id获取信息
	window.userData=function(th){
		var user_id = $(th).val();
		var reply_u = $(th).parent().next().children();
		if(user_id){
			var data = {'method':'get_user_info','user_id':user_id};
			asynData(url,data,reply_u);
		}
	}
});

</script>

 

Layui图片上、视频、音频、文件上传接口及跨域上传 Layui图片上、视频、音频、文件上传接口及跨域上传,此项目案例包含了多种上传方式,欢迎大家下载 立即下载

相关推荐

基于layui封装的网页音视播放器源码

基于layui封装的网页音视播放器源码

layui弹窗 实现图片、音频在线预览

一、layui组件下载地址 Layui镜像站-经典开源模块化前端 UI 框架(官方文档完整镜像) 二、实现 1.图片预览 function previewImages() { let parentObj = $(this).parents('[data-img="prveimgbox"]');//父元素 layer.photos({ photos: parentObj, closeBtn:1, anim: 5 }); } 2.视频

Jifei5201314的博客 4758

SOLIDWORKS Flow Simulation 颗粒分离器仿真:从流场分析到分离效率优化

计算流体力学(CFD)是研究流体流动、传热及相关物理现象的核心工具,其基本原理是通过数值方法求解控制流体运动的纳维-斯托克斯方程。在工程实践中,CFD的价值在于能够对复杂流动进行高保真度仿真,从而在产品设计阶段预测性能、优化结构,显著降低物理样机的试制成本和周期。颗粒分离器作为环保、化工、矿业等领域的关键设备,其设计核心在于平衡分离效率与压力损失。借助SOLIDWORKS内嵌的Flow Simulation模块,工程师可以高效地执行流体仿真,特别是对涉及离散相的颗粒运动进行轨迹追踪和效率统计。该技术方案通过

weixin_28709649的博客 321

浏览器语音附加背景音乐

浏览器语音附加背景音乐 1.相关知识 video 和 window.SpeechSynthesisUtterance() 2.目录层级 3.代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>浏览器语音附加背景音乐</title> &lt...

qq_34626688的博客 398

Ubuntu 24.04中文输入法终极指南:从安装到疑难排解

本文是Ubuntu 24.04中文输入法的完整指南,详细介绍了如何通过图形界面或命令行安装和配置Intelligent Pinyin输入法。内容涵盖IBus框架的运作原理、输入法快捷键调校、模糊音设置,并重点解决了Qt应用无法输入中文的疑难问题,最后提供了Fcitx5备选方案及常见故障的排解方法。

weixin_29294975的博客 1239

ABB机器人与西门子PLC、工业相机联合实现无序抓取的完整调试方案

将此方案导入系统后,逐步执行调试,确保各环节信号正常触发,即可实现高效无序抓取!

CHUXUEZHE8210的博客 1991

【layui快速入门】form表单里有图像文件怎么提交?

前言form表单里有文件,比如图像文件、普通文本文件、音频视频文件,该怎么办? 解决方案总的有两种: 使用formData实现文件和文本同时提交 先ajax上传文件,返回文件url,再和文本一起提交,我称作伪提交。 本文主要介绍第二种伪提交方案,formData使用教程已在下方列出。 https://developer.mozilla.org/zh-CN/docs/Web/API/FormDat

简简简简abc 3万+

【论文阅读笔记】One Shot 3D Photography

论文主页:https://facebookresearch.github.io/one_shot_3d_photography/ 代码地址:https://github.com/facebookresearch/one_shot_3d_photography   该3D照片方向,由于刚入门,所以会倾向于翻译文章。每个操作上的选择,及为什么不进行另外操作的原因都如数放上。 论文小结   本作的工作是从单张RGB图片生成一个移动视角的3D照片。   其管道大致如下: 由RGB图像通过单目深度估计网络估计深度图

时光机 °的博客 1839

layui多图,多音频,多视频,多文件上传

示例图: 1. jsp页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> &l.

爱吃榴莲酥的姑娘 3672

【华为OD机试】贪吃蛇(python, java, c++, js)

贪吃蛇是一个经典游戏,蛇的身体由若干方格连接而成,身体随蛇头移动。蛇头触碰到食物时,蛇的长度会增加一格。蛇头和身体的任一方格或者游戏版图边界碰撞时,游戏结束。 下面让我们来完成贪吃蛇游戏的模拟。 给定一个NM的数组arr,代表NM个方格组成的版图,贪吃蛇每次移动一个方格。 若arr[i][j] == H,表示该方格为贪吃蛇的起始位置; 若arr[i][j] == F,表示该方格为食物, 若arr[i][j] == E,表示该方格为空格。 贪吃蛇初始长度为1,初始移动方向为向左。

A_D_I_D_A_S的博客 540

番外篇 | 关于YOLO11算法的改进点总结

关于YOLO11算法的改进点总结。🌈

小哥谈 2310

Laya UI点击播放音效脚本

import Script = Laya.Script; import SoundManager = Laya.SoundManager; export default class AudioSourceScript extends Script { /** @prop {name: audioClip, tips:"音效地址",type:string,accept:res} */ audioClip:string = ""; constructor() { super(); .

crazy_yun的博客 551

【四足机器人项目实战】MIT无刷电机FOC硬件电路设计

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、MCU最小系统--STM32F446RE1.usb串口通讯连接口+程序下载连接口2.MCU电源滤波二、磁编码器角度传感器三、三相驱动桥四、CAN通讯收发器电路五、温度ADC检测六、电源滤波及分压电路1、DC电源输入端2、DC电源滤波电路3、DC电源分压电路4、三相绕线接线端总结参考资料 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对

qq_35635374的博客 7061

录音及播放

最近项目使用录音功能,特此记录下。以及指出小左遇到的问题。使用MediaRecorder(录音)、MediaPlayer(播放)、ExecutorService(线程池)实现功能。一:权限:&lt;uses-permission android:name="android.permission.RECORD_AUDIO" /&gt; &lt;uses-permission android:name...

yangxun0727l的博客 806

【数据集】中国大气污染物数据集CHAP(1km空间分辨率)-韦晶团队

中国大气污染物数据集CHAP(1km空间分辨率)-韦晶团队

WW、forever的博客 2593

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

布置页面音乐写法

开发工具与关键技术:vs2017 布置页面音乐 作者:马铭浩 撰写时间:2019-3-26 1.HTML 首先把音乐文件放在在body,(用layui插件)audio下面加个i标签(因为调用layui图标库所以要用到i标签)然后给那音乐文件一个id ,i标签要给个id和类名称 下面给出代码参考: CSS代码:在i标签Style里面。 2.JQuery代码 首先获取到需要点击播放音乐的ID就是标...

渔夫 276

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

一个网页显示歌词的音乐播放器

这里需要用到layui的 layui.css 和 layui.js 文件 , 如果是用CDN地址的话, 进度条可能会有显示问题。下载的歌词需要图中这样格式, 有些会出现 [00:00:000] 或 [00:00:0000]首先你要下载歌词, 下载地址: https://www.kugeci.com/一般就开头或结尾有几个 删除多余的就行[00:00:00]其次到 网易云音乐网页版 找到对应音乐的ID,然后把找到的 ID 复制到歌词第一行就行了。最后点这个选择歌词文件, 点播放就行了。

qq_36370910的博客 1355

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

海豚php上传音频方法(引用 layui的 js 与 css)

1.html代码 <div class="layui-upload" > <div> <label class="col-xs-12" for="{$form[type].name}" style="margin-left: 13px;">{$form[type].title|htmlspecialchars}</label> &lt...

soulmybaby的博客 808

告别复杂代码:3行Layui实现专业音频播放控制

在日常开发中,你是否遇到过这些音频处理难题?上传的音频无法预览、播放控件样式与项目风格冲突、需要手写大量JavaScript来实现播放暂停功能?本文将带你用Layui框架的upload组件,以极简代码实现专业级音频上传、预览和播放控制功能,让前端音频处理变得简单高效。 ## 快速上手:3行核心代码实现音频上传 Layui的upload组件提供了开箱即用的音频上传功能,只需简单配置即可实现专业的...

gitblog_00321的博客 669

播放音频文件

想要在你的应用中播放音频文件,可以使用AV框架(Audio 和 Video 框架)里的AVAudioPllayer 类。 播放音频 - (void)viewDidLoad { [super viewDidLoad]; dispatch_queue_t dispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRI

chaoyuan899的专栏 2525

php结合layui上传音频,layui中的视频上传(PHP )

1.html中:视频:上传视频2.js中://上传视频upload.render({elem: ‘#upload_video‘,url: "上传接口",accept: ‘video‘ //视频,done: function(res){$("#inputvideourl").val(res.data.src);layer.msg(‘上传成功‘);}});3.上传接口:public function ...

weixin_42445886的博客 679

商城订单实时语音提醒功能JavaScript部分 附提醒语音音频文件

第一步,按钮控制实时提醒 <form class="layui-form roll-nav" style="margin-left: 81%;margin-top: -5px;" action=""> <input type="checkbox" checked="" name="switch" lay-skin="switch" lay-filter="switch...

DreamCoders 6421

用layui实现表单提交(包含图片)

近段时间接触了layui,发现挺好用的,妈妈再也不用担心我的样式丑了~ 说回正题,做个学习帖,记录一下layui实现表单提交中包含头像上传的问题: 首先导入jquery(也可以用layui自带的),再导入layui的css和js,注意你的逻辑js文件要在layui js的下面 html代码: <form id="myadd" class="layui-form layui-form-pane...

qq_41294224的博客 6575

layui上传表单包含图片

HTML代码 <form class="layui-form layui-form-pane" action="" enctype="multipart/form-data" onsubmit="return false;"> <div class="layui-form-item"> <label class="layui-form-label">标题</label&g

qq_40787608的博客 1516

php获取layui上传视频,php layui实现前端多图上传实例

php结合layui前端实现多图上传前端html代码请选择图片文件名图片预览大小状态操作开始上传js 代码layui.use('upload', function() {var $ = layui.jquery,upload = layui.upload;//多文件列表示例var demoListView = $('#demoList'),uploadListIns = upload.render...

weixin_33379371的博客 537
上一篇: 喜马拉雅数据接口 JSSDK API 接入 demo WEB版 标准登录 、免登陆
下一篇: 前端页面 Vuejs针对安卓低版本 、ios9.x 不兼容 ES6语法导致失效解决方法
阿……莫西林
博客等级 码龄9年 42粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值