为了账号安全,请及时绑定邮箱和手机立即绑定

点击添加附件没反应

老师,我点击添加附件之后,没有任何反应,浏览器底部出现一条javascript:void(0),并不出现文件选择框,求解

<?php
require_once '../include.php';
checkLogined();
$rows = getAllCate();
//print_r($rows);
if(!$rows){
	alertMes("没有相应分类,请先添加","addCate.php");
}
?>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>-.-</title>
<link href="./styles/global.css"  rel="stylesheet"  type="text/css" media="all" />
<script type="text/javascript" charset="utf-8" src="../plugins/kindeditor/kindeditor.js"></script>
<script type="text/javascript" charset="utf-8" src="../plugins/kindeditor/lang/zh_CN.js"></script>
<script type="text/javascript" src="./scripts/jquery-1.6.4.js"></script>
<script>
        KindEditor.ready(function(K) {
                window.editor = K.create('#editor_id');
        });
        $(document).ready(function(){
        	$("#selectFileBtn").click(function(){
        		$fileField = $('<input type="file" name="thumbs[]"/>');
        		$fileField.hide();
        		$("#attachList").append($fileField);
        		$fileField.trigger("click");
        		$fileField.change(function(){
        		$path = $(this).val();
        		$filename = $path.substring($path.lastIndexOf("\\")+1);
        		$attachItem = $('<div class="attachItem"><div class="left">a.gif</div><div class="right"><a href="#" title="删除附件">删除</a></div></div>');
        		$attachItem.find(".left").html($filename);
        		$("#attachList").append($attachItem);		
        		});
        	});
        	$("#attachList>.attachItem").find('a').live('click',function(obj,i){
        		$(this).parents('.attachItem').prev('input').remove();
        		$(this).parents('.attachItem').remove();
        	});
        });
</script>
</head>
<body>
<h3>添加商品</h3>
<form action="doAdminAction.php?act=addPro" method="post" enctype="multipart/form-data">
<table width="70%"  border="1" cellpadding="5" cellspacing="0" bgcolor="#cccccc">
	<tr>
		<td align="right">商品名称</td>
		<td><input type="text" name="pName"  placeholder="请输入商品名称"/></td>
	</tr>
	<tr>
		<td align="right">商品分类</td>
		<td>
		<select name="cId">
			<?php foreach($rows as $row):?>
				<option value="<?php echo $row['id'];?>"><?php echo $row['cName'];?></option>
			<?php endforeach;?>
		</select>
		</td>
	</tr>
	<tr>
		<td align="right">商品货号</td>
		<td><input type="text" name="pSn"  placeholder="请输入商品货号"/></td>
	</tr>
	<tr>
		<td align="right">商品数量</td>
		<td><input type="text" name="pNum"  placeholder="请输入商品数量"/></td>
	</tr>
	<tr>
		<td align="right">商品市场价</td>
		<td><input type="text" name="mPrice"  placeholder="请输入商品市场价"/></td>
	</tr>
	<tr>
		<td align="right">商品慕课价</td>
		<td><input type="text" name="iPrice"  placeholder="请输入商品慕课价"/></td>
	</tr>
	<tr>
		<td align="right">商品描述</td>
		<td>
			<textarea name="pDesc" id="editor_id" style="width:100%;height:150px;"></textarea>
		</td>
	</tr>
	<tr>
		<td align="right">商品图像</td>
		<td>
			<a href="javascript:void(0)" id="selectFileBtn">添加附件</a>
			<div id="attachList" class="clear"></div>
		</td>
	</tr>
	<tr>
		<td colspan="2"><input type="submit"  value="发布商品"/></td>
	</tr>
</table>
</form>
</body>
</html>


正在回答

6 回答

方法试了,不可以

0 回复 有任何疑惑可以回复我~

方案一:trigger("click")写在change事件后

方案二:

$("#selectFileBtn").click(function(event) {

$fileFiled=$('<input type="file" name="thumbs[]"/>' );

$fileFiled.hide();

$("#attachList").append($fileFiled);

$fileFiled.trigger('click');

$fileFiled.change(function(event) {

//console.log("change");

$path=$(this).val();

$filename=$path.substring($path.lastIndexOf("\\")+1);

if($path!=""){

$attachItem=$('<div class="attachItem"><div class="left">a.gif</div><a href="javascript:void(0)" title="删除附件">删除</a></div>');

$attachItem.find(".left").html($filename);

$("#attachList").append($attachItem);

$a=$("#attachList>.attachItem").find("a");

//console.log("第二次算a数量为:"+$a.length);

$a.click(function(){

   //console.log("触发了click事件");

   $(this).parents('.attachItem').prev('input').remove();

$(this).parents('.attachItem').remove();

})

}

});

//$fileFiled.trigger('change');  //egde 浏览器不写这句不能显示?!

$a=$("#attachList>.attachItem").find("a");

if($a.length==0){

//console.log("a数量为零,手动触发change事件");

$fileFiled.trigger('change');

}

//event.stopPropagation();

});

即手动模拟触发一下change

ps:我也不知道为什么,但是测试后发现好像egde浏览器在trigger("click")触发后后续的代码就不会执行,因此,选择文件完成后,才会执行后续代码,因此对于change事件而言,相当于没有change

2 回复 有任何疑惑可以回复我~
#1

髢篭

666 ok 了
2017-03-05 回复 有任何疑惑可以回复我~

大神请问你是怎么解决的呢?能说下吗?谢谢

1 回复 有任何疑惑可以回复我~

求解

????


0 回复 有任何疑惑可以回复我~

如何解决的?


0 回复 有任何疑惑可以回复我~

以解决 

1 回复 有任何疑惑可以回复我~
#1

天添1991

同学,请问是如何解决的?急
2015-12-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
手把手教你实现电商网站后台开发
  • 参与学习       117284    人
  • 解答问题       1999    个

手把手教你用PHP搭建电子商务平台,由浅入深教你搭建电商系统

进入课程

点击添加附件没反应

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信