在安装了Opera Mini的功能手机上,可以在不使用javascript的情况下选择要上传的文件来触发UI更改

On a feature phone with Opera Mini, can choosing a file to upload trigger a UI change without javascript?

本文关键字:选择 情况下 UI 更改 javascript 文件 Mini Opera 安装 功能 手机      更新时间:2023-09-26

我不知道该怎么问才对。我是第一次为功能手机开发,例如,带宽有限的用户运行Opera Mini,没有javascript。

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

javascript的答案是no。我的答案是和javascript。

让我解释一下。

关于javascript在Opera Mini。

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

形式和它的元素。

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能做什么:

    Opera Mini和JavascriptOpera Mini的常见问题解答。它非常有用。
  1. Opera Mini和OBML
相关文章: