Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在html中创建多用途按钮_Javascript_Html_Css_Button - Fatal编程技术网

Javascript 在html中创建多用途按钮

Javascript 在html中创建多用途按钮,javascript,html,css,button,Javascript,Html,Css,Button,在手机上,我无法看到这两个按钮,因为它们相距太远。我想让它成为这样,在你选择文件后,“选择文件”按钮将被上传按钮取代。这可能吗。我该怎么办 我的html- <form method="post" action="" enctype="multipart/form-data" name="form1"> <input name="file" type="file"class="box"/> <input type="submit"

在手机上,我无法看到这两个按钮,因为它们相距太远。我想让它成为这样,在你选择文件后,“选择文件”按钮将被上传按钮取代。这可能吗。我该怎么办

我的html-

<form method="post" action="" enctype="multipart/form-data" name="form1">
   <input   name="file" type="file"class="box"/>          
   <input type="submit" id="mybut" value="Upload" name="Submit"/>
</form>

-注意,我不想把它们放在单独的行上,也不想让字体变小——等等
<script type="text/javascript">
 $(function() {
 $("input:file").change(function (){
   var fileName = $(this).val();
   if(fileName){
      remove chose file button and show upload button(visible property)
    }

 });
 });
$(函数(){ $(“输入:文件”).change(函数(){ var fileName=$(this.val(); 如果(文件名){ 删除所选文件按钮和显示上载按钮(可见属性) } }); });


检查

是的,确实很容易。您可以监听文件输入的
onchange
事件并将其隐藏

HTML:


如果你愿意,你可以使用同样的技巧,只在选择文件时显示“上传”按钮。在这种情况下,按钮代码将是
,在Javascript代码中,您可以编写
btn.style.display=“”
,以显示按钮。

我可以说有多种方法可以做到这一点。但在核心java脚本中,以下是方法

(1) 最初将“上载”按钮的显示样式设置为“无”,以隐藏该按钮

(2) 输入文件类型的Write Onchange事件处理程序

(3) 在该处理程序函数中,如果值不为null,则通过应用“显示样式无”隐藏输入文件,然后将“上载”按钮的样式更改为空(“”)

希望这种方法能奏效

最简单的方法:

    <form method="post" action="" enctype="multipart/form-data" name="form1">
        <input   name="file" type="file" onchange="if($(this).val().length){$(this).hide().next().show()}" class="box"/>         
        <input type="submit" id="mybut" value="Upload" style="display:none;" name="Submit"/>
    </form>     

没有Jquery,只有JavaScript

    <form method="post" action="" enctype="multipart/form-data" name="form1">
        <input   name="file" type="file" onchange="this.nextElementSibling.style.display = 'block'; this.style.display = 'none';" class="box"/>         
        <input type="submit" id="mybut" value="Upload" style="display:none;" name="Submit"/>
    </form> 


编写javascript代码……有什么你认为我的javascript技能不好说的吗。如果有人至少为我指出了正确的方向,我会尝试编写代码。单击“选择文件”后,如果捕获的文件没有错误,则“选择”按钮可以成为调用上载过程的上载按钮。上传完成或失败后,按钮返回选择功能。这是一种切换行为,不是吗?一旦选择了一个文件,就可以隐藏文件输入,rite?这是违抗的!事实上,那把小提琴似乎没有按我的要求演奏?在你选择文件后,它不会用上传按钮代替选择文件按钮。嗯,这是我一直在寻找的答案,但它似乎不太管用。缺少什么?在我选择要上载的文件后,“选择文件”按钮仍然不会变为上载按钮。这是因为此答案需要jQuery。在我选择文件之前,有没有办法隐藏“无文件选择”按钮?我们无法使用输入标记。因为它是一个基本元素。但是我们可以做的一件事是将元素的宽度减少一半。因此,它将显示工具提示“未选择文件”,而不是显示完整的句子。
    <form method="post" action="" enctype="multipart/form-data" name="form1">
        <input   name="file" type="file" onchange="if($(this).val().length){$(this).hide().next().show()}" class="box"/>         
        <input type="submit" id="mybut" value="Upload" style="display:none;" name="Submit"/>
    </form>     
    <form method="post" action="" enctype="multipart/form-data" name="form1">
        <input   name="file" type="file" onchange="this.nextElementSibling.style.display = 'block'; this.style.display = 'none';" class="box"/>         
        <input type="submit" id="mybut" value="Upload" style="display:none;" name="Submit"/>
    </form>