2016-12-05 40 views
0

我正在尝试更改自定义文件输入的默认文本以在西班牙文中显示它。Bootstrap 4 - JavaScript cus

 <div class="card"> 
      <div class="card-header"> 
       <h2>12. Carga de ficheros customizado</h2> 
      </div> 
      <div class="card-block"> 
       <form> 
       <div class="form-group"> 
        <label class="custom-file"> 
         <input type="file" id="fileCustom" class="custom-file-input"> 
         <span class="custom-file-control"></span> 
        </label> 
        <small id="fileCustom" class="form-text text-muted">Para hacerlo personal 
        hay que envolver en una etiqueta el elemento input. 
        </small> 
       </div> 
       </form> 
      </div> 
     </div> 

,我使用的JavaScript在Translating or customizing the strings(在页面底部)

$fileCustom: (
    placeholder: (
    en: "Choose file...", 
    es: "Seleccionar archivo..." 
), 
    button-label: (
    en: "Browse", 
    es: "Navegar" 
) 
); 

的建议我已经改变了我的文档<html lang="es">的语言和可能的错误是在JavaScript和HTML代码之间的关系,但我无法在互联网上找到解决方案。

回答

0

我建议你使用的图像,你想查看 “Seleccionar档案馆......” 和ES: “Navegar” 您可以使用下面的代码行:

var W3CDOM = (document.createElement && document.getElementsByTagName); 

function initFileUploads() { 
    if (!W3CDOM) return; 
    var fakeFileUpload = document.createElement('div'); 
    fakeFileUpload.className = 'fakefile'; 
    fakeFileUpload.appendChild(document.createElement('input')); 
    var image = document.createElement('img'); 
    image.src='pix/button_select.gif'; 
    fakeFileUpload.appendChild(image); 
    var x = document.getElementsByTagName('input'); 
    for (var i=0;i<x.length;i++) { 
     if (x[i].type != 'file') continue; 
     if (x[i].parentNode.className != 'fileinputs') continue; 
     x[i].className = 'file hidden'; 
     var clone = fakeFileUpload.cloneNode(true); 
     x[i].parentNode.appendChild(clone); 
     x[i].relatedElement = clone.getElementsByTagName('input')[0]; 
     x[i].onchange = x[i].onmouseout = function() { 
      this.relatedElement.value = this.value; 
     } 
    } 
} 

N: B:你应该从上面的代码改变图像的网址。