我看的一个图片上传例子中,点击添加单幅图片,调用JS方法,但没有传参数,怎么正常执行了呀,而且也弹出了空白文本框。
我自己测试的点击会报“未知对象”错误。请高手解决,困扰我几个月时间了。代码:
<span class="upload" onClick="add_form();">» 添加单幅图片</span>
JS:
function add_form(id, url, previewUrl, imageUrl, title, description){
var $count = $('#Photo_Count');
var count = parseInt($count.val());
count = count + 1;
var $el = $("<div id='Photo_" + count + "'>" + $('#Photo_0').html().replace(/_0/g, '_' + count) + "</div>");
$el.insertBefore($count);
$('#Photo_Count').val(count);
add_ajaxUpload(count);
if (id && id > 0){
$('#ID_' + count).val(id);
$('#imgPhoto_' + count).attr("src", url);
$('#PreviewUrl_' + count).val(previewUrl);
$('#ImageUrl_' + count).val(imageUrl);
$('#Title_' + count).val(title);
$('#Description_' + count).val(description);
}
}
我自己测试的点击会报“未知对象”错误。请高手解决,困扰我几个月时间了。代码:
<span class="upload" onClick="add_form();">» 添加单幅图片</span>
JS:
function add_form(id, url, previewUrl, imageUrl, title, description){
var $count = $('#Photo_Count');
var count = parseInt($count.val());
count = count + 1;
var $el = $("<div id='Photo_" + count + "'>" + $('#Photo_0').html().replace(/_0/g, '_' + count) + "</div>");
$el.insertBefore($count);
$('#Photo_Count').val(count);
add_ajaxUpload(count);
if (id && id > 0){
$('#ID_' + count).val(id);
$('#imgPhoto_' + count).attr("src", url);
$('#PreviewUrl_' + count).val(previewUrl);
$('#ImageUrl_' + count).val(imageUrl);
$('#Title_' + count).val(title);
$('#Description_' + count).val(description);
}
}
<html>
<head>
<link rel="icon" href="../pic/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pic/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="../style.css" type="text/css" />
<script src="../Inc/siteservercore.js"></script>
<script src="../../sitefiles/bairong/Scripts/global.v1.3.5.js"></script><link rel="stylesheet" href="/siteserver/Themes/Styles/blue/style.css" type="text/css" />
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script language="javascript" src="/sitefiles/bairong/scripts/JQuery/jquery-1.4.3.min.js"></script>
<script type="text/javascript" src="/sitefiles/bairong/scripts/JQuery/fancybox/jquery.fancybox-1.3.4.pack.js"></script><link rel="stylesheet" type="text/css" href="/sitefiles/bairong/scripts/JQuery/fancybox/jquery.fancybox-1.3.4.css" media="screen" />
<script type="text/javascript" src="../../sitefiles/bairong/scripts/jquery/ajaxupload.js"></script>
<script type="text/javascript" src="../../sitefiles/bairong/scripts/swfUpload/swfupload.js"></script>
<script type="text/javascript" src="../../sitefiles/bairong/scripts/swfUpload/handlers.js"></script>
<script type="text/javascript">
function uploadSuccess(file, response) {
try {
if (response) {
response = eval("(" + response + ")");
if (response.success == 'true') {
add_form();
var $count = $('#Photo_Count');
var index = parseInt($count.val());
$("#imgPhoto_" + index).attr('src', response.url);
$("#PreviewUrl_" + index).val(response.previewUrl);
$("#ImageUrl_" + index).val(response.imageUrl);
} else {
alert(response.message);
}
}
} catch (ex) {
this.debug(ex);
}
}
var swfu;
$(document).ready(function(){
swfu = new SWFUpload({
// Backend Settings
upload_url: "../../sitefiles/inner/ajaxUpload.aspx?PublishmentSystemID=1&isContentPhotoSwfUpload=True",
// File Upload Settings
file_size_limit : "2 MB",
file_types : "*.jpg;*.jpeg;*.gif;*.png",
file_types_description : "Images",
file_upload_limit : 0, // Zero means unlimited
// Event Handler Settings - these functions as defined in Handlers.js
// The handlers are not part of SWFUpload but are part of my website and control how
// my website reacts to the SWFUpload events.
swfupload_preload_handler : preLoad,
swfupload_load_failed_handler : loadFailed,
file_queue_error_handler : fileQueueError,
file_dialog_complete_handler : fileDialogComplete,
upload_error_handler : uploadError,
upload_success_handler : uploadSuccess,
upload_complete_handler : uploadComplete,
// Button settings
button_image_url : "../../sitefiles/bairong/scripts/swfUpload/button.png",
button_placeholder_id : "swfUploadPlaceholder",
button_width: 114,
button_height: 22,
button_text : '» 添加多幅图片',
button_text_top_padding: 1,
button_text_left_padding: 5,
// Flash Settings
flash_url : "../../sitefiles/bairong/scripts/swfUpload/swfupload.swf", // Relative to this file
flash9_url : "../../sitefiles/bairong/scripts/swfUpload/swfupload_FP9.swf", // Relative to this file
// Debug Settings
debug: false
});
});
</script>
<style>
.upload{
background-image:url(../../sitefiles/bairong/scripts/swfUpload/button.png); width:114px; height:22px; text-align:left; padding:2px 5px; cursor:default;
}
</style>
</head>
<body>
<script type="text/javascript" src="/sitefiles/bairong/Scripts/showPopWin.v1.0/script.js" charset="gb2312"></script>
<link rel="stylesheet" type="text/css" href="/siteserver/Themes/Styles/blue/PopWin.css" />
<div id="popupMask" unselectable="on" style="display: none;"> </div>
<div id="popupContainer" unselectable="on">
<div id="popupInner">
<div id="popupTitleBar">
<table border="0" cellpadding="0" cellspacing="0" style="background-color:#FFFFFF; width:100%; height:100%">
<tbody>
<td id="popupTitleLeft"></td>
<td id="popupTitleCenter"><div id="popupTitle" unseletable="on"></div></td>
<td id="popupTitleClose" title="快捷键:ESC"><div id="popupControls"><img id="popupClose" src="/siteserver/Themes/Styles/blue/PopWin/close.gif" onclick="hidePopWin(false);" /></div></td>
<td id="popupTitleRight"></td>
</tbody>
</table>
</div>
<table border="0" cellpadding="0" cellspacing="0" style="width:100%; height:100%">
<tbody>
<tr style="background-color:#FFFFFF;height:100%">
<td style="border-color:#b3b6b0; border-left-style:solid; border-width:medium medium medium 1px; border-left-width:1px; width:4px;"> </td>
<td style="padding-left:0px;"><iframe id="popupFrame" name="popupFrame" src="/sitefiles/bairong/Scripts/showPopWin.v1.0/loading.html" initSrc="/sitefiles/bairong/Scripts/showPopWin.v1.0/loading.html"
style="width:100%;height:100%;background-color:transparent;"
scrolling="auto" frameborder="0"
allowtransparency="true"
width="100%" height="100%"></iframe></td>
<td style="border-bottom-color:#b3b6b0; border-color:#b3b6b0; border-right-style:solid; border-width:medium medium medium 1px; border-right-width:1px; width:4px;"> </td>
</tr>
<tr>
<td id="popupBottomLeft"></td>
<td id="popupBottomCenter"></td>
<td id="popupBottomRight"></td>
</tr>
</tbody>
</table>
</div>
</div>
<script language="javascript">
initPopUp();
</script>
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE2Njc5ODQ4MTUPZBYCAgUPFgIeBFRleHQFyQINCiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7DQoJDQphZGRfZm9ybSgxLCAnL3VwbG9hZC8yMDExLzkvcHJldmlld18xNDEzNDExMDMxMC5qcGcnLCAnQC91cGxvYWQvMjAxMS85L3ByZXZpZXdfMTQxMzQxMTAzMTAuanBnJywgJ0AvdXBsb2FkLzIwMTEvOS8xNDEzNDExMDMxMC5qcGcnLCAnJywgJycpOw0KDQphZGRfZm9ybSgyLCAnL3VwbG9hZC8yMDExLzkvcHJldmlld18xNDEzNDMzNzU3Mi5wbmcnLCAnQC91cGxvYWQvMjAxMS85L3ByZXZpZXdfMTQxMzQzMzc1NzIucG5nJywgJ0AvdXBsb2FkLzIwMTEvOS8xNDEzNDMzNzU3Mi5wbmcnLCAnJywgJycpOw0KDQp9KTsNCmRkbuoO7yi+5VrMvn/VQMUmiHD6SBw=" />
</div>
<DIV class="column" id="contents">
<div class="columntitle">上传图片 </div>
<TABLE border=0 cellSpacing=5 cellPadding=5 width="95%">
<TBODY>
<TR>
<TD colspan="2" align="left">
<input id="Photo_Count" type="hidden" name="Photo_Count" value="0" /></TD>
</TR>
<tr>
<td align="right">
<table width="240" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><span class="upload" onClick="add_form();">» 添加单幅图片</span></td>
<td><span id="swfUploadPlaceholder"></span></td>
</tr>
</table>
</td>
<td align="right"> </td>
</tr>
<tr>
<td align="center" width="700"><input type="submit" name="Submit" value="保 存" id="Submit" class="button" />
<input type="submit" name="Return" value="返 回" id="Return" class="button" /></td>
<td align="right"> </td>
</tr>
</TBODY>
</TABLE>
</DIV>
<div>
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAwKcw61gArzDhLYEAriE69YL0Kz5WR+/i0+DgIGsLNkjxzB1NLk=" />
</div></form>
<div id="Photo_0" style="display:none">
<TABLE cellSpacing="3" style="border-bottom:#c5daf0 1px dashed" cellpadding="3">
<TR>
<TD align="left" valign="middle"><IMG id="imgPhoto_0" style="border: #ccc 1px solid; padding:1px;" src="../../SiteFiles/bairong/Icons/preview.gif" width="160" height="110" />
<div><A id="uploadFile_0" href="javascript:void(0);">» 上传</A></div>
<span id="img_upload_txt_0" style="clear:both; font-size:12px; color:#FF3737;"></span>
<input type="hidden" id="ID_0" name="ID_0" value="" />
<input type="hidden" id="PreviewUrl_0" name="PreviewUrl_0" value="" />
<input type="hidden" id="ImageUrl_0" name="ImageUrl_0" value="" />
</TD>
<TD valign="top"><TABLE cellPadding=5>
<TR>
<TD>标题:</TD>
<TD><input id="Title_0" name="Title_0" type="text" class="colorblur" onFocus="this.className='colorfocus';" onBlur="this.className='colorblur';" style="WIDTH: 350px" /></TD>
</TR>
<TR>
<TD>图片介绍:</TD>
<TD><textarea id="Description_0" name="Description_0" rows="7" class="colorblur" onFocus="this.className='colorfocus';" onBlur="this.className='colorblur';" style="WIDTH: 350px"></textarea></TD>
</TR>
</TABLE></TD>
<TD valign="bottom"><a href="javascript:void(0);" onClick="remove_form('#Photo_0');">删除图片</a></TD>
</TR>
</TABLE>
</div>
<script type="text/javascript">
var ajaxUploadUrl = '../../SiteFiles/Inner/ajaxUpload.aspx?publishmentSystemID=1&isContentPhoto=True';
function add_form(id, url, previewUrl, imageUrl, title, description){
var $count = $('#Photo_Count');
var count = parseInt($count.val());
count = count + 1;
var $el = $("<div id='Photo_" + count + "'>" + $('#Photo_0').html().replace(/_0/g, '_' + count) + "</div>");
$el.insertBefore($count);
$('#Photo_Count').val(count);
add_ajaxUpload(count);
if (id && id > 0){
$('#ID_' + count).val(id);
$('#imgPhoto_' + count).attr("src", url);
$('#PreviewUrl_' + count).val(previewUrl);
$('#ImageUrl_' + count).val(imageUrl);
$('#Title_' + count).val(title);
$('#Description_' + count).val(description);
}
}
function remove_form(divID){
$(divID).remove();
}
function add_ajaxUpload(index){
new AjaxUpload('uploadFile_' + index, {
action: ajaxUploadUrl,
name: "ImageUrl",
data: {},
onSubmit: function(file, ext) {
var reg = /^(jpg|jpeg|png|gif)$/i;
if (ext && reg.test(ext)) {
$('#img_upload_txt_' + index).text('上传中... ');
} else {
$('#img_upload_txt_' + index).text('只允许上传JPG,PNG,GIF图片');
return false;
}
},
onComplete: function(file, response) {
$('#img_upload_txt_' + index).text(' ');
if (response) {
response = eval("(" + response + ")");
if (response.success == 'true') {
$("#imgPhoto_" + index).attr('src', response.url);
$("#PreviewUrl_" + index).val(response.previewUrl);
$("#ImageUrl_" + index).val(response.imageUrl);
} else {
$('#img_upload_txt_' + index).text(response.message);
}
}
}
});
}
$(document).ready(function(){
add_form(1, '/upload/2011/9/preview_14134110310.jpg', '@/upload/2011/9/preview_14134110310.jpg', '@/upload/2011/9/14134110310.jpg', '', '');
add_form(2, '/upload/2011/9/preview_14134337572.png', '@/upload/2011/9/preview_14134337572.png', '@/upload/2011/9/14134337572.png', '', '');
});
</script>
</body>
</html><script type="text/javascript">
if (window.top.location.href.toLowerCase().indexOf("main.aspx") == -1){
var initializationUrl = window.top.location.href.toLowerCase().substring(0, window.top.location.href.toLowerCase().indexOf("/siteserver/")) + "/siteserver/initialization.aspx";
window.top.location.href = initializationUrl;
}
</script>
function aaa(a){
alert(1)
}
aaa();//依然会弹出1
看楼主的代码
function add_form(id, url, previewUrl, imageUrl, title, description){
var $count = $('#Photo_Count');
var count = parseInt($count.val());
count = count + 1;
var $el = $("<div id='Photo_" + count + "'>" + $('#Photo_0').html().replace(/_0/g, '_' + count) + "</div>");
$el.insertBefore($count);
$('#Photo_Count').val(count);
add_ajaxUpload(count);
//由于add_form() 调用 所以下方函数都不会走 而唯一会出问题的 就是add_ajaxUpload函数里边的了
楼主不妨用firebug跟下吧
if (id && id > 0){
$('#ID_' + count).val(id);
$('#imgPhoto_' + count).attr("src", url);
$('#PreviewUrl_' + count).val(previewUrl);
$('#ImageUrl_' + count).val(imageUrl);
$('#Title_' + count).val(title);
$('#Description_' + count).val(description);
}
}