javascript - 在具有 Opera Mini 的功能手机上,选择要上传的文件是否可以在没有 JavaScript 的情况下触发 UI 更改?

标签 javascript mobile nokia opera-mini

我不确定我是否会以正确的方式问这个问题。我第一次开发功能手机,例如带宽有限的用户运行 Opera Mini 并且没有 JavaScript。

我有一个带有文本框和可选照片 uploader 的表单。大多数人不会上传照片。我想实现以下行为:如果用户从手机中选择要在表单中提交的文件,则提交按钮文本将从“提交”更改为“带照片提交”。如果没有 JavaScript,这可能吗?

最佳答案

如果没有 JavaScript,答案就是。我的回答是并且是javascript .

让我解释一下。

关于 Opera Mini 中的 javascript。

Opera Mini 中未禁用 JavaScript。你可以使用它。例如,Opera Mini 支持 XMLHttpRequestquerySelector/querySeletorAllOpera Mini 在其服务器上有一个 Presto JavaScript 引擎,该引擎在桌面 Opera 上使用,但没有 CSS3 功能,这对于浏览器的渲染来说是昂贵的。

关于表单和 it 元素。

Opera Mini 仅支持 select 元素的更改事件。然后您更改选择Opera Mini,通过使用 Opera Mini 服务器中更改后的选择值重新加载页面来重新呈现页面。

Example :

HTML:

<form action="">
    <select>
        <option>Change me</option>
        <option>Im changed</option>
    </select><br>
    <input type="file" id="file-control"><br>
    <input type="submit" value="Submit" id="submit-control">
</form>

Javascript:

var submitNode = document.getElementById('submit-control');

document.getElementById('file-control').addEventListener('change', function () {
    //this will not fire in Opera Mini
    if (this.files[0]) {
        submitNode.value = 'Submit with photo';
    } else {
        submitNode.value = 'Submit';
    }
});

document.querySelector('select').addEventListener('change', function () {
    //this will work in Opera Mini and call after Opera Mini get changed page from Opera Mini server
    alert('Select was changed');
});

阅读本文了解 Opera Mini 的功能:

  1. Opera Mini and Javascript
  2. FAQ of Opera Mini 。非常有用。
  3. Opera Mini and OBML

关于javascript - 在具有 Opera Mini 的功能手机上,选择要上传的文件是否可以在没有 JavaScript 的情况下触发 UI 更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23773899/

相关文章:

Javascript 提示不适用于诺基亚 Lumia 手机

qt - 在 Qt/Symbian 中使用外部库

javascript - 单选按钮默认值不一致

iphone - 移动应用程序 - 针对 iPhone、WP7、Android 和黑莓

javascript - jQuery - slideToggle 动画不流畅

html - SVG/VML vs Canvas vs HTML - 移动

html - 如何在移动设备上的网页上保持所有元素的顺序?

iphone - 移动应用商店分析的选项(Apple、Android、OVI 等)?

javascript - AngularJS 检查条件并返回 true 或 false

JavaScript .reduce()