HTML рдлреЙрд░реНрдо рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдлрд╝реАрд▓реНрдб рдХреА рдордирдорд╛рдиреА рдЙрдкрд╕реНрдерд┐рддрд┐, рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╕рдорд╛рди рд╣реИ

рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдирдП рдорд╛рдирдХреЛрдВ рдФрд░ рдЕрдЪреНрдЫрд╛рдЗрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ /> рддрддреНрд╡ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рдорд╛рдирдХ рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рддрддреНрд╡ рдХреА рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдХреБрдЫ рд╣рдж рддрдХ рд╕реНрдЯрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЗрд╕ рдлрд╝реЙрд░реНрдо рдлрд╝реАрд▓реНрдб рдХреЛ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдПрдХ рд╕рдорд╛рди рджреГрд╢реНрдп рдореЗрдВ рд▓рд╛рдиреЗ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдбрд┐рдЬрд╝рд╛рдЗрди рдореЗрдВ "рдлрд┐рдЯ" рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдХрд╛рд░рдг, рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╕рд╛рдордЧреНрд░реА рдХреА рдЦреЛрдЬ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдлреЙрд░реНрдо рдлрд╝реАрд▓реНрдб рдкреНрд░рдХрд╛рд░ рдХреЛ html + css, рдФрд░ js рдХреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЧрдИ рдереАред

рдпрд╣ рдлрд╝реАрд▓реНрдб рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреИрд╕реА рджрд┐рдЦрддреА рд╣реИ?


<input id="upload" type="file" name="upload" /> 

рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ 9 рдореЗрдВ рджрд┐рдЦрддрд╛ рд╣реИ:
рдЫрд╡рд┐

рдФрд░ рдЗрд╕рд▓рд┐рдП - рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ:
рдЫрд╡рд┐

Google Chrome рдореЗрдВ:
рдЫрд╡рд┐

рдУрдкреЗрд░рд╛ рдореЗрдВ:
рдЫрд╡рд┐

рд╕рдлрд╛рд░реА рдореЗрдВ:
рдЫрд╡рд┐

рдлрд╝рд╛рдЗрд▓ рдлрд╝реАрд▓реНрдб рдХреЛ рд╕реНрдЯрд╛рдЗрд▓ рдХрд░рдирд╛

рдЙрд╕ рд╕реНрдерд╛рди рдкрд░ рдЬрд╣рд╛рдВ рдлрд╝рд╛рдЗрд▓ рдЪрдпрди рдлрд╝реАрд▓реНрдб рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдбрд╛рд▓реЗрдВ:
 <div class="fileform"> <div class="selectbutton"></div> <input id="upload" type="file" name="upload" /> </div> 

рд╢реИрд▓рд┐рдпреЛрдВ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмреНрд▓реЙрдХ рдЬреЛрдбрд╝реЗрдВ:
 .fileform { background-color: #FFFFFF; border: 1px solid #CCCCCC; border-radius: 2px; cursor: pointer; height: 26px; overflow: hidden; padding: 2px; position: relative; text-align: left; vertical-align: middle; width: 230px; } .fileform .selectbutton { background-color: #A2A3A3; border: 1px solid #939494; border-radius: 2px; color: #FFFFFF; float: right; font-size: 16px; height: 20px; line-height: 20px; overflow: hidden; padding: 2px 6px; text-align: center; vertical-align: middle; width: 50px; } .fileform #upload{ position:absolute; top:0; left:0; width:100%; -moz-opacity: 0; filter: alpha(opacity=0); opacity: 0; font-size: 150px; height: 30px; z-index:20; } 

рдЕрдм рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдлреЙрд░реНрдо рдлрд╝реАрд▓реНрдб рдПрдХ рд╕рдорд╛рди рджрд┐рдЦрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдлрд╝рд╛рдЗрд▓ рдЪрдпрди рдлрд╝реЙрд░реНрдо рдЕрднреА рднреА рдлрд╝реАрд▓реНрдб рдФрд░ рдмрдЯрди рджреЛрдиреЛрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ:
рдЫрд╡рд┐

рдорд╛рдирдХ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╕рдорд╛рдзрд╛рди рдХрд╛ рдореБрдЦреНрдп рджреЛрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдиреЗрддреНрд░рд╣реАрди рд╕рдВрдХреЗрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХреА рдЧрдИ рд╣реИред

рдЪрдпрдирд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЬреЛрдбрд╝рдирд╛

рд╣рдо рдлрд╝реАрд▓реНрдб рдореЗрдВ рдПрдХ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдПрдХ рдФрд░ рдмреНрд▓реЙрдХ рд╣реЗрдбрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдмреНрд▓реЙрдХ рдХреЛ рдЗрд╕рдХреА рд╢реИрд▓реА:
 <div class="fileform"> <div id="fileformlabel"></div> <div class="selectbutton"></div> <input type="file" name="upload" id="upload" onchange="getName(this.value);" /> </div> 

 .fileform #fileformlabel { background-color: #FFFFFF; float: left; height: 22px; line-height: 22px; overflow: hidden; padding: 2px; text-align: left; vertical-align: middle; width:160px; } 

рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рд╕реНрд╡рдпрдВ рдЪрдпрдирд┐рдд рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреВрд░рд╛ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдкрде рдХреЛ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИ (рд╡рд┐рднрд┐рдиреНрди рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╕рддреНрдпрд╛рдкрди рдХреЗ рд╕рд╛рде), рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдЪрд░ рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдирд╛рдо рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдлрд╝рд╛рдЗрд▓рдлреЙрд░реНрдорд▓реЗрдмреЗрд▓ рдмреНрд▓реЙрдХ рдкрд░ рд▓рд┐рдЦрддрд╛ рд╣реИред
 function getName (str){ if (str.lastIndexOf('\\')){ var i = str.lastIndexOf('\\')+1; } else{ var i = str.lastIndexOf('/')+1; } var filename = str.slice(i); var uploaded = document.getElementById("fileformlabel"); uploaded.innerHTML = filename; } 

рдЕрдм рдлреЙрд░реНрдо рдлрд╝реАрд▓реНрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ (рдЖрдк рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░, рд░рдВрдЧ, рдлрд╝реЙрдиреНрдЯ рдФрд░ рд╕рдВрд░реЗрдЦрдг рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ):

рдЫрд╡рд┐

рдпрд╣ рдиреЛрдЯ рд▓реЗрдЦ рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╡рд┐рдзрд┐ "рдЗрдирдкреБрдЯ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдиреБрдХреВрд▓рди =" рдлрд╝рд╛рдЗрд▓ "рд╕реАрдПрд╕рдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ" рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред

Source: https://habr.com/ru/post/In171743/


All Articles