当文件未被选择时禁用提交按钮

4

我正在尝试禁用提交按钮,当没有选择文件时,根据网上的一个工作解决方案。这与脚本类型有关吗?

这是我遵循的示例:禁用提交按钮,直到选择要上传的文件

<html>
        <head>

        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js">
            $(document).ready(
    function(){
        $('input:submit').attr('disabled',true);
        $('input:file').change(
            function(){
                if ($(this).val()){
                    $('input:submit').removeAttr('disabled'); 
                }
                else {
                    $('input:submit').attr('disabled',true);
                }
            });
    });
        </script>
</head>

<body>
   <form action="#" method="post">

            <input type="file" name="fileInput" id="fileInput" />
            <input type="submit" value="submit" disabled />


       </form>
</body>
</html>

2
你是否已经包含了jQuery库? - Ian Brindley
2
你的代码运行良好 - http://jsfiddle.net/fUvvb/。但是你在这里没有包含jQuery库。 - dsgriffin
嗨,当您选择一个文件时,实际上会发生什么?您希望按钮仅在按下按钮或确实选择文件时才启用吗? - Jaay
2个回答

3

由于Jquery未包含在内,因此请尝试使用声明的Jquery:

  <html>
<head>
    <script type="text/javascript" src="http://code.jquery.com/jquery-2.0.0.js"></script>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 


            <script type="text/javascript">
                $(document).ready(
        function(){
            $('input:submit').attr('disabled',true);
            $('input:file').change(
                function(){
                    if ($(this).val()){
                        $('input:submit').removeAttr('disabled'); 
                    }
                    else {
                        $('input:submit').attr('disabled',true);
                    }
                });
        });
            </script>
    </head>

    <body>
       <form action="#" method="post">

                <input type="file" name="fileInput" id="fileInput" />
                <input type="submit" value="submit" disabled />


           </form>
    </body>
    </html>

嗨,谢谢你的帮助。我已经尝试编辑源代码,但仍然无法工作。可能是其他问题吗?但很奇怪,在Jsfiddle.net上可以工作。 - Eddy
对不起,在我的电脑上,您在提交后想要做什么? 该脚本需要连接互联网以使用Jquery。 否则,复制http://code.jquery.com/jquery-2.0.0.js,粘贴到Word或记事本中,保存在电脑上以便在没有互联网的情况下使用。 - Mirko Cianfarani
嗨,再次感谢。我想做的是在选择文件后启用按钮。当没有选择文件时,它应该被禁用。目前它最初是禁用的,但选择文件后仍然是禁用状态。 你的意思是如果我想使用jQuery,我需要连接到互联网吗? 抱歉,我还很新手。 - Eddy
欢迎...该脚本 <script type="text/javascript" src="http://code.jquery.com/jquery-2.0.0.js"></script> 需要网络连接,因为这是一个与网络相关的链接。 如果想在没有网络连接的情况下使用,您可以复制 http://code.jquery.com/jquery-2.0.0.min.js 上的文本,粘贴到编辑器中并保存为 'jquery-2.0.0.min.js'。 之后,您需要更改脚本(然后替换)为 '<script type="text/javascript" src="jquery-2.0.0.js"></script>'。 如果您需要更多细节或澄清,请通过mrk1989@hotmail.it添加我的Skype或Messenger。 - Mirko Cianfarani
你好,我已经给你发了邮件并在Skype中添加了你。请告诉我你什么时候有空。非常感谢,Mirko。 - Eddy

0
<head> 中引入 jQuery 库。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>

谢谢你的帮助。我已经编辑了JavaScript部分。然而,它仍然无法正常工作。 - Eddy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接