【问题标题】:Override <input type="file"> value property覆盖 <input type="file"> 值属性
【发布时间】:2012-05-29 16:51:26
【问题描述】:

是否可以覆盖标签中的 value 属性?我的 JavaScript 代码

var element = document.createElement('input');
element.type = 'FILE';
element.__defineGetter__('value',function(){ return 'ololo'; });
alert(element.value);

它显示空字符串。我也尝试用原型覆盖“价值”

function BPFILEINPUT(value)
{
    this.value = value;
}
BPFILEINPUT.prototype = element;
var myFileInput = new BPFILEINPUT('ololo');
alert(myFileInput.value);

它工作,但崩溃

form.appendChild(myFileInput);

我尝试通过 4shared.com 上的上传表单测试

var uplElems = aUploadForm.elements;


   for (var i = 0; i < uplElems.length; i++) {
       var currentUploadElement = uplElems[i]
       if (currentUploadElement.type == 'file') {
           if (currentUploadElement.value == '') {
               // skip
           } else {
               if (!checkFileLength(currentUploadElement)) {
                  return false;
               }
               filesToUpload += getNumberOfSelectedFiles(currentUploadElement);
           }
       }
   }
   if (filesToUpload < 1) {
       alert('You didn\'t select any file to upload yet.');
       return false;
 }

更新

我使用 UIWebView。

【问题讨论】:

    标签: javascript ios uiwebview file-io


    【解决方案1】:

    AFAIK,由于安全原因,您不能以编程方式设置&lt;input type="file"&gt; 的值。用户必须明确点击它来设置它的值。

    【讨论】:

    • 我知道。出于这个原因,我试图覆盖。也许有一种方法可以通过 WebKit 在 UIWebView 中启用 按钮?
    • @user1424203:在 google 上搜索“HTML5 File API”可能会有所帮助,但我不确定。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    • 2017-12-04
    • 2011-11-15
    • 2012-01-09
    • 1970-01-01
    • 2016-02-11
    相关资源
    最近更新 更多