我不知道该怎么问才对。我是第一次为功能手机开发,例如,带宽有限的用户运行Opera Mini,没有javascript。
我有一个带有文本框和可选照片上传器的表单。大多数人不会上传照片。我想实现以下行为:如果用户在表单中从手机中选择要提交的文件,那么提交按钮的文本将从"提交"变为"带照片提交"。这可能没有javascript吗?
javascript的答案是no。我的答案是不和javascript。
让我解释一下。
关于javascript在Opera Mini。
Javascript在Opera Mini
中没有被禁用。你可以用它。例如,Opera Mini支持XMLHttpRequest
、querySelector/querySeletorAll
。Opera Mini
在其服务器上有一个Presto
javascript引擎,这是在桌面Opera上使用的,但没有CSS3功能,这是一个昂贵的浏览器渲染。
形式和它的元素。
Opera Mini
只支持select
元素的变更事件。然后你改变选择Opera Mini
重新渲染页面通过重新加载它与改变选择值从Opera Mini服务器。
Example
:
<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的常见问题解答。它非常有用。
- Opera Mini和OBML