qq_45735316 2020-05-18 17:18 采纳率: 94.1%
浏览 343
已采纳

为什么myform.js中那段document.write()存在的时候,下面的提交文件就会报错value为null?这代码应该怎么改?

图片说明图片说明
//index.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>表单参数与URL参数</title>
        <script src="js/myform.js" type="text/javascript"></script>
    </head>
    <body> 
        <center>

            <p>URL参数提交数据</p>
            <table border="2" align="center" rules="all">
                    <tr>
                        <td>学号</td>
                        <td><input type="text" id="usernum" placeholder="输入学号"></td>
                    </tr>
                    <tr>
                        <td>姓名</td>
                        <td><input type="text" id="username" placeholder="输入姓名"></td>
                    </tr>
                    <tr>
                        <td>性别</td>
                        <td><input type="radio" name="usersex2" value="男" checked="checked">男
                        <input type="radio" name="usersex2" value="女">女
                        </td>
                    </tr>
                    <tr>
                        <td>文件</td>
                        <td>
                            <input type="file" id="myfile">
                        </td>
                    </tr>
                    <tr>
                        <td>&nbsp;</td>
                        <td>
                            <input type="button" value="提交" onclick="sendValue()">
                            &nbsp;<input type="reset" value="重置">
                        </td>
                    </tr>

                  </table>
        </center>
    </body>
</html>

//myform.js


function sendValue()
{
    var sid=document.getElementById("usernum").value;
    var sname=document.getElementById("username").value;
    var ssex=document.getElementsByName("usersex2");
    var sex;
    for(var i=0;i<ssex.length;i++)
    {
        if(ssex[i].checked)
           sex=ssex[i].value;
    }
    //var URL="get.html?id="+sid+"&name="+sname+"&sex="+sex;
    //window.location.href=URL;
    //
    /*document.write("usernum:"+sid+"</br>");
    document.write("username:"+sname+"</br>");
    document.write("usersex:"+sex+"</br>");*/



    //提交文件
    var fileValue=document.getElementById("myfile").value;
    console.log(fileValue+"\n");
    var index1=fileValue.lastIndexOf(".");//点在字符串的位置
    console.log(index1);
    var fileExt=fileValue.substring(index1+1);//文件的扩展名
    var index2=fileValue.lastIndexOf("\\");   //最后一个反斜杠
    console.log(index2);
    var fileName=fileValue.substring(index2+1,index1);//文件的路径
    document.write("fileName:"+fileName+"</br>");    
    document.write("fileExt:"+fileExt+"</br>");
}

  • 写回答

1条回答 默认 最新

  • 简_洋 2020-05-18 19:16
    关注

    不是value为null。是dom对象为null。你打印一下dom对象看一下。那个是 value of null 意思是不能从null读取一个value 的属性。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)