我有一个file类型的input,有个逻辑是,按了取消按钮就把框框里的值清除,
原句是<input id="twimage" name="image" style="margin-top:6px" type="file" size="30" onchange="picPreview(this, 'twpreview', 'twpreviewok');" >
现在我是用js先清除它再写过,问题来了,重写的input事件得不到执行,我是这样写的input.onchange = "picPreview(this, 'twpreview', 'twpreviewok');";
这样写有问题吧?
应该怎么写呢?

解决方案 »

  1.   

    input file设置value无效,可以移除它,再新建一个
      

  2.   


    我已经把input给removeChild啦,再重写,我那样写事件得不到执行
      

  3.   

    不知道这个是不是楼主想要的效果?<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
     </HEAD>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function picPreview(obj,twpreview,twpreviewok)
    {
    alert(obj.value+"\r\n"+twpreview+"\r\n"+twpreviewok);
    } function createNew()
    {
    var twimage=document.getElementById("twimage");
    document.body.removeChild(twimage);
    alert("去除成功!"); var temptwimage=document.createElement("INPUT");
    temptwimage.type="file";
    temptwimage.size="30";
    temptwimage.name="image";
    temptwimage.style.marginTop="6px";
    temptwimage.onchange=function(){picPreview(temptwimage, 'twpreview', 'twpreviewok');}
            document.body.appendChild(temptwimage);
    alert("重新创建成功!");
    }
    //-->
    </SCRIPT>
     <BODY>
      <input id="twimage" name="image" style="margin-top:6px" type="file" size="30" onchange="picPreview(this, 'twpreview', 'twpreviewok');" > 
      <INPUT TYPE="button" VALUE="重新创建上传控件" ONCLICK="createNew()">
     </BODY>
    </HTML>