0

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

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

4

1 回答 1

2

没有 javascript 答案是否定的。我的回答是否定的,并且使用javascript

让我解释。

关于 Opera Mini 中的 javascript。

Javascript 未在Opera Mini. 你可以使用它。例如, Opera Mini 支持XMLHttpRequest, querySelector/querySeletorAll。 在其服务器上Opera Mini有一个javascript 引擎,该引擎在桌面 Opera 上使用,但没有 CSS3 功能,这在浏览器上的渲染成本很高。Presto

关于表单和它的元素。

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 和 Javascript
  2. Opera Mini 的常见问题解答。它非常有用。
  3. Opera Mini 和 OBML
于 2014-05-21T16:22:31.427 回答