如题,比如<input type="file" name="f1"> 该控件用来上传图片,如果客户选中了一个文本文件,在file的文本框后便显示一条字,请重新选择文件,这样的应该怎么做给个思路被
再有就是js做的判断,比如文本框非空,不用对话框蹦出来,也是在空间后边显示提示。php的~~谢谢了

解决方案 »

  1.   

    用ajax做上传文件后,请求发给服务端php,服务端php代码判断文件类型,比如是.txt的文本文件,就返回一个json数据给浏览器端,可以用json_encode(str);
    浏览器ajax接收到请求后,直接在文本框后面追加一个DOM元素(比如span),里面写提示信息即可
    判断文本框非空可以直接用js代码实现,不必向服务端发送ajax请求,不符合条件的最后return false即可。如果LZ对DOM操作不是很熟悉的话,我建议你用jquery,操作非常方便,一两个方法就能搞定。
      

  2.   

    明白楼主的意思,这个用js可以实现,首先如果客户选择了文本文件,你可以用js判断这个文件的后缀,也就是用substring截取文件名“.”后边的字符串,然后用if判断属于什么类型的文件,第二个实现方法也好办,给input设置一个id,然后用document.getElementById(id).value获取input的值,用if判断,如果长度为0,也就是if(document.getElementById(id).value.length==0),那么就可以确定是空的,然后在文本框后边加一个<span></span>,当然也给他一个id,然后判断过后就可以给span里写下你要提示的话,如果还有不明白的地方,欢迎加入编程初学者联盟QQ群60370340 一块学习
      

  3.   

    <input type="file" name="f1"   onfocus=" checkFile(); onchange=" displayInfor(); "/> <div id="infor" style="display:disable;"> </div>
    <js> var $not;
     function checkFile()
     {
       你可以翻一下file函数的用法 它里面有说明 怎么限制上传的格式 现在我不帮你找了 很简单 就两句话
       $not=false;
      } 
      function displayInfo()
      { 
        if($not)
       {  
         document.getByid(info).innerHtml("请重新选择文件");
       } 
         
       }
    </js>
    这里面也许会有一点小句法错误 因为我也是刚学php一个月 前个星期做项目 用到了这个 
    大体是这样的 句法错误 你可以自己搜一下 这只是个思想 希望能帮到你
      

  4.   

    不好意思  改正一下 
    <input type="file" name="f1"  onchange=" displayInfor(); "/> <div id="infor" style="display:disable;"> </div>
    <js>
    funtcion checkInfo()
    {
      你可以翻一下file函数的用法 它里面有说明 怎么限制上传的格式 现在我不帮你找了 很简单 就两句话
      判断
      $not=false
      if($not)
      {
        document.getByid(info).innerHtml("请重新选择文件");
       }
     
      
    }
    </js>
      

  5.   


    <form>
    <input type="file" name="upload" onchange="f(this.value)"><span id="loadspan"></span><br>
    <input type="text" name="te" onfocus="t(this.value)" onblur="t(this.value)"><span id="tspan"></span>
    </form>
    <script language="javascript">
    function f(val)
    {
    if(val=="")return;
    var t=val.substr(val.length-4,4);
    if(t.toLocaleLowerCase() ==".txt")
    {
    document.getElementById("loadspan").innerText = "请重新选择文件";
    }
    else
    {
    document.getElementById("loadspan").innerText  ="";
    }
    }
    function t(val)
    {
    if(val=="")
    {
    document.getElementById("tspan").innerText = "不能为空";
    }
    else
    {
    document.getElementById("tspan").innerText  ="";
    }
    }
    </script>
    大概这样