我看的一个图片上传例子中,点击添加单幅图片,调用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);
}
}

解决方案 »

  1.   

    完整代码:
    <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;">&nbsp;</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;">&nbsp;</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;">&nbsp;</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>
     
      

  2.   

    <form name="myForm" method="post" action="background_contentPhotoUpload.aspx?PublishmentSystemID=1&amp;ContentID=2101&amp;ReturnUrl=background_content.aspx_question_PublishmentSystemID_equals_1_and_NodeID_equals_95_and_DateFrom_equals__and_SearchType_equals__and_Keyword_equals__and_page_equals_1" id="myForm" style="margin:0">
    <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">&nbsp;</td>
            </tr>
            <tr>
              <td align="center" width="700"><input type="submit" name="Submit" value="保 存" id="Submit" class="button" />
                &nbsp;&nbsp;
                <input type="submit" name="Return" value="返 回" id="Return" class="button" /></td>
              <td align="right">&nbsp;</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>
      

  3.   

    js函数有参数可以不传参数,js函数无参数可以传参数
      

  4.   

    首先 js只认函数名 形参和实参允许不一致 例如:
    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);
    }
    }